Slim Framework仅返回404

时间:2015-10-04 13:57:52

标签: php .htaccess api slim

我有Slim框架(版本2)的问题。如果我在默认页面上运行它会显示内容而不会出现问题但是当我向$app->get('/test'...这样的路由发出请求时,我总是会收到404错误。

这是我的index.php。

<?php
require 'vendor/autoload.php';

\Slim\Slim::registerAutoloader();

$app = new Slim\Slim();

// Welcome message.
$app->get("/", function() use($app) {
    echo 'Appointment API<br />';
});

$app->get("/test", function () use($app) {
   echo "This is a test";
});

$app->run();

我的.htaccess文件:

RewriteEngine On

# Some hosts may require you to use the `RewriteBase` directive.
# If you need to use the `RewriteBase` directive, it should be the
# absolute physical path to the directory that contains this htaccess file.
#
#RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

我的作曲家档案:

{
    "require": {
        "slim/slim": "^2.6",
        "slim/extras": "*",
        "slim/middleware": "*"
    }
}

到目前为止,我真的不知道该怎么做。

2 个答案:

答案 0 :(得分:0)

使用:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^ index.php [QSA,L] 

如果您仍然获得404,则问题不在于您.htaccess

答案 1 :(得分:0)

如果你获得404意味着.htaccess问题如果模式重写启用。如果不是先启用它,那么改变.htaccess以及它的工作原理:

<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [NC,QSA,L]
</ifModule>