修复一个RewriteRule,添加两个额外的斜杠

时间:2012-08-24 20:59:46

标签: regex apache mod-rewrite

我想将来自example.org的网络请求重定向到www.example.org。我认为我有正确的规则,但它增加了两个额外的正斜杠:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.org [NC]
RewriteRule ^(.*)$ http://www.example.org/$1 [R=permanent,L]

上述内容会将我从example.org转移到www.example.org//

有没有办法去掉那些尾随斜杠?我尝试了以下变体,它会删除这些斜杠,但会导致重定向循环:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.org [NC]
RewriteRule ^(.*)$ http://www.example.org/$1 [R=permanent,L]
RewriteRule ^(.*)/$ /$1 [L,R=301]

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

尝试在RewriteBase /之后添加RewriteEngine on

如果不这样做,请将规则更改为RewriteRule ^/(.*)$ http://www.example.org/$1 [R=301,L],这样就不会捕获初始/