我有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": "*"
}
}
到目前为止,我真的不知道该怎么做。
答案 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>