【发布时间】:2012-12-13 09:27:29
【问题描述】:
我已经在这方面工作了几个小时,但找不到有关它的信息。嗯,是的,有信息,但我只能找到单独的解决方案,这些解决方案不能一起工作。
我试图从这个开始:
RewriteCond %{REQUEST_URI} \.(php)$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.example.com/$1/ [L,R=301]
代码有效,我得到了斜杠。但是,如果我输入一个不存在的文件名,它会返回 301。例如:
http://www.example.com/thisfiledoesnotexist.php
第一个标头响应是 301,这是合乎逻辑的,因为它试图返回:
http://www.example.com/thisfiledoesnotexist.php/
然后它返回 404,但是这样需要两次请求才能返回 404。
我想很多人以前都发现过这个问题,我相信这是一个普遍的问题,但我还没有找到解决办法。
【问题讨论】:
标签: .htaccess mod-rewrite http-status-code-404 trailing-slash