apache htaccess删除多个域和协议的尾部斜杠

时间:2014-02-17 20:12:48

标签: regex apache .htaccess mod-rewrite

我有一个htacess文件可以处理一些域和一些协议(http和https)。

我试图找到一种方法将带有尾部斜杠和多个域的所有流量重定向到没有此尾随斜杠的页面。

无论如何,我可以在一个声明中为我的所有域和协议做到这一点?我使用了超过50个域名,并且很难为这些域声明所有http和https。

我试过这个:

RewriteRule ^(.*)/$ /$1

但这似乎不适用于子目录,因为我无法理解这会产生无限循环的重写

1 个答案:

答案 0 :(得分:1)

请使用此规则从任何路径中删除尾部斜杠:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^(.+?)/$ /$1 [R=301,L]