如何使用Apache重写规则从URL中删除多个正斜杠?

时间:2013-12-30 22:50:40

标签: apache url mod-rewrite

例如,我想改变

http://www.foo.com/bar//baz 

http://www.foo.com/bar/baz

2 个答案:

答案 0 :(得分:3)

Apache将多个斜杠视为单斜杠。

您可以使用.htaccess中的mod_rewrite将双击URL重定向到正确的URL:

RewriteCond %{REQUEST_URI} ^(.*)//+(.*)$

RewriteRule / http://www.example.com/%1/%2 [R=301,L]

或使用RedirectMatch:

RedirectMatch 301 ^(.*)//+(.*)$ http://www.example.com/$1/$2

这些片段中的任何一个都会用一个斜杠替换两个或多个连续的斜杠。

答案 1 :(得分:1)

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