【发布时间】:2015-05-20 16:03:36
【问题描述】:
我正在尝试为我的应用程序设置 Slim,但我遇到了参数不起作用的问题。
这是我的index.php
require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim();
// GET route
$app->get('/', function () {
print "hello";
});
$app->get('/books/:id', function ($id) {
print $id;
});
$app->run();
这是.htaccess 文件
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
对/ 的请求工作正常,但如果我通过/books/1 它会返回[404] not found
【问题讨论】:
-
mod_rewrite是否启用? -
您是否收到了特定的错误/错误日志,如果是这种情况,请将其包含在问题中
-
@MikeRockett 是的,我在 apache 配置中有“AllowOverride all”
-
@MauricioGracia 我没有收到任何具体错误,只是找不到 404 页面
-
AllowOverride All并不意味着启用了mod_rewrite- 它们彼此无关。检查LoadModule rewrite_module modules/mod_rewrite.so是否在httpd.conf中取消注释。