如何摆脱index.html的尾部斜杠

时间:2015-10-09 01:38:46

标签: apache .htaccess mod-rewrite trailing-slash

如何摆脱我网站上的尾随斜杠?

例如,我在

处有一个 index.html
 http://example.com/examplepage/index.html 

而不是

 http://example.com/examplepage/ 

我希望网址为

 http://example.com/examplepage 

我可以用.htaccess吗?

1 个答案:

答案 0 :(得分:1)

对于apache,尾部斜杠非常重要,没有它,即使index.html文件夹中有examplepage,人们也可以看到文件夹的内容。 Apache通过默认加载​​模块来处理此问题,每次访问目录/文件夹时都会重定向浏览器以包含尾部斜杠。你可以关闭它,但是当你这样做时,文档中会注明there's a major security concern;主要是,无论是否有索引文件,都可以查看文件夹的内容。

所以你可以关闭它,但你可能仍希望至少在内部有尾随斜杠。你可以用mod_rewrite:

来做到这一点
# turn off the mechanism to always redirect to the trailing slash
DirectorySlash Off

# Internally add the trailing slash
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond $1 .*[^/]$
RewriteRule ^(.*)$ /$1/ [L]

这应该允许您访问http://example.com/examplepage而不会被重定向到http://example.com/examplepage/