删除主机名

时间:2016-11-06 13:09:58

标签: apache .htaccess redirect mod-rewrite

像这样使用mod_rewrite:

RewriteBase /
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]

我可以在example.com/foo/等链接中删除最后一个斜杠 但是,如果我想删除example.com/中之前使用的规则中的最后一个斜杠,请不要使用。 在这个例子中也是如此: 如果我想删除2斜杠

RewriteBase /
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 [R=301,L]

如果链接类似于example.com/foo//bar,它可以正常工作 但如果链接是example.com//foo/bar,则规则不起作用。

1 个答案:

答案 0 :(得分:0)

你可以:

RewriteBase /
RewriteCond %{REQUEST_URI} ^(//)?(.*)//(.*)$
RewriteRule . %1/%2 [R=301,L]

你可以添加/?对条件。我现在无法测试但可能有效。