我一直在搜索将近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/
在浏览器中。我想要斜线,因为它使它看起来更整洁。
谢谢。
您可以在htaccess中用此代码替换当前代码
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ /$1/ [R=301,L]
RewriteRule ^index/$ /index.html [L]
注意:由于您以前的301规则可能仍然存在,因此您可能必须清除浏览器的缓存
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句