Apache htaccess 重写规则的奇怪行为

Apache htaccess 重写规则的奇怪行为

我不知道发生了什么,但我无法使用重写模块。在我的 .htaccess 文件中,我有一条这样的规则:RewriteRule ^test$ test.php。如果test.php不存在,我会收到 404 错误,说找不到文件test.php,这是正确的(而且规则匹配)。在我添加文件后,test.php当我访问testurl 时,我也收到 404 未找到错误,但这次告诉我找不到/test(这让我认为规则不匹配)。

有什么问题?我不明白。我试过所有方法,但无法正常工作。

答案1

/test不是^test$,应该是^/test$

编辑:您尝试过这个吗:RewriteRule ^/test$ /test.php [R,L]

答案2

我弄清楚了导致此行为的原因。在 vhost 配置文件中,我必须遵循 -MultiViewsOptions规则。现在它正常工作了。

相关内容