如果存在尾部斜杠,则 RewriteRule 将不匹配,引发 nginx 404

如果存在尾部斜杠,则 RewriteRule 将不匹配,引发 nginx 404

有了这个.htaccess...

RewriteEngine on
RewriteRule ^foo$ foo.php
RewriteRule ^foo/$ foo.php

...当我请求时,我得到了以下行为

  • /foo— 成功了,我得到了 foo.php
  • /foo/— nginx 意外失败,出现 404 错误
  • /foobar— 失败,正如预期的那样,但 nginx 给出了一个漂亮的 404 ErrorDoc

注意:没有文件foo夹。

是我遗漏了什么,还是这是托管提供商的错误,例如 nginx 代理配置错误?在另一个 apache 上,此设置按预期工作。
(我正在尝试深入了解为什么 WordPress 的(默认).htaccess 不起作用。)

答案1

通过电子邮件联系了支持人员,他们修复了这个问题。
根据 phpinfo 告诉我的信息,$_SERVER['SERVER_SOFTWARE']从 更改nginxApache...
供以后搜索:这是在网络主机提供商 checkdomain.de 上。

相关内容