php slim框架路由找不到

require_once "slim/vendor/autoload.php";
$app = new \Slim\Slim(['debug' => true,'mode' => 'development']);
$app->get("/index", function() {
    echo "<h1>Hello Slim World</h1>";
});
$app->run();

在本机访问localhost/api.php/index有输出,但是在Ubuntu上居然是404 not found,这是为什么?
ps:这个框架资源也少。。。

阅读 6.4k
2 个回答

找到了原因,因为未设置伪静态

#nginx
root        /Users/jackluo/Works/php/rest;

    location / {
        root    /Users/jackluo/Works/php/rest;
        index   index.html index.php;
        try_files $uri $uri/ /index.php?$args;
    }
#apache
【1】启动mod_rewrite——去掉#,#代表注释
LoadModule rewrite_module modules/mod_rewrite.so

【2】修改AllowOverride None为AllowOverride All
#
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other 
# <Directory> blocks below.
#
<Directory />
    AllowOverride All
    Require all granted
</Directory>    

slim框架还是不错的,用起来挺有感觉的。http://dighash.com/ 一个简单的slim demo~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题