我一直在寻找差不多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/
。我想要斜线,因为我觉得它看起来更整洁。
感谢。
答案 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规则可能仍在那里