Apache .htaccess删除尾部斜杠

时间:2012-11-27 10:16:05

标签: regex apache .htaccess mod-rewrite apache2

好的,我已经google了足够多,在这个主题上找到了足够的博客和足够的SO主题,但这些解决方案中没有一个适合我。

我创建了文件夹,因此可以通过以下网址访问它们:

我想做的就是通过以下方式访问它们:

基本上,删除尾部斜杠。

2 个答案:

答案 0 :(得分:1)

确保您在Apache配置中关闭 DirectorySlash Directive

<击>

<击>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_HOST}:%{SERVER_PORT}s ^(.*):(443(s)|\d+s)$
RewriteRule ^/?(.*)/$ http%3://%1/$1 [R=301,L,QSA]

<击>

RewriteEngine On
RewriteCond %{HTTP_COOKIE} !(?:^|;\s*)redirect=301
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_HOST}:%{SERVER_PORT}s ^(.*):(443(s)|\d+s)$
RewriteRule ^/?(.*)/$ http%3://%1/$1 [R=301,L,QSA,CO=redirect:301:%1:0:/]

答案 1 :(得分:-1)

您可以使用以下重写来删除尾部斜杠。

# remove trailing slashes
RewriteRule (.*)/$ $1 [L,R=301]

您需要启用mod_rewrite。这可以放在.htaccess文件或apache配置中。