Slim PHP请求URL未找到:带参数路由无法访问问题求助
问题解决:Slim PHP带参数URL返回404
你的问题出在db_api根目录的.htaccess规则上,当前规则只允许匹配不含斜杠的请求路径,带参数的URL(如/db_api/hello/John)包含斜杠,无法被正确转发到src目录,导致404错误。
修正步骤
修改db_api根目录下的.htaccess文件,将第二个RewriteRule替换为匹配所有路径的规则:
<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ src/ [L] RewriteRule (.*) src/$1 [L] </IfModule>
原规则的问题
原来的RewriteRule (^[^/]*$) src/$1 [L]中,[^/]*表示匹配不含斜杠的任意字符,所以只有/db_api/hello这种单段路径能被正确转发,而/db_api/hello/John包含斜杠,无法匹配该规则,直接返回404。
验证其他配置
检查其他配置是否正常:
- public目录的
.htaccess规则正确,能将所有非文件/目录的请求转发到index.php - src目录的
.htaccess规则正确,能将请求转发到public目录 - index.php中的
$app->setBasePath('/db_api')设置正确,匹配你的项目路径
修改后重启XAMPP的Apache服务,访问localhost/db_api/hello/John应该就能正常返回内容了。
内容的提问来源于stack exchange,提问作者nick
相关产品推荐
相关产品推荐

