.htaccess为请求的文件添加尾部斜杠

时间:2014-12-29 12:27:07

标签: apache .htaccess mod-rewrite

我一直在寻找差不多2天的时间,为什么这对我不起作用。我读到的很多关于这个问题的答案都有一个重写规则的答案如下:

RewriteRule (.*)index/$ index.html [L,R=301]

但是这需要用户手动追加尾部斜杠。

example.com/index的请求进入时,我希望URL在客户端浏览器中更改为example.com/index/

另外,如果我在浏览器中手动追加尾部斜杠,我总会得到404页面未找到错误。这完全合理,因为没有名为index.html /的文件。这是浏览器还是可以通过.htaccess规则实现这一目标?

所以我希望用户请求example.com/index转发到example.com/index.html,但在浏览器中显示example.com/index/。我想要斜线,因为我觉得它看起来更整洁。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以在htaccess

中替换当前代码
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ /$1/ [R=301,L]

RewriteRule ^index/$ /index.html [L]

注意:您可能需要清除浏览器的缓存,因为旧的301规则可能仍在那里