1

使用 .htaccess,我需要将两个域重定向到客户端的第三个 url。
将一个重定向到另一个作品没有任何问题:

RewriteCond %{HTTP_HOST} =domain1.com
RewriteCond %{HTTP_HOST} =www.domain1.com [OR]
RewriteRule ^(.*)$ http://domain2.com/$1 [R=301,L]

但是,如果我对多个域采用相同的方法,我最终会出现重定向循环 -

RewriteCond %{HTTP_HOST} =domain1.com
RewriteCond %{HTTP_HOST} =www.domain1.com [OR]
RewriteCond %{HTTP_HOST} =domain2.com [OR]
RewriteCond %{HTTP_HOST} =www.domain2.com [OR]
RewriteRule ^(.*)$ http://domain3.com/$1 [R=301,L]

我应该如何设置它才能使其正常工作?

4

1 回答 1

1

这是因为即使对于 domain3,最后一条规则也匹配所有内容。您应该按以下条件为其削减重定向:

RewriteCond %{HTTP_HOST} (www.)?domain1.com [OR]
RewriteCond %{HTTP_HOST} (www.)?domain2.com
RewriteCond %{HTTP_HOST} !(www.)?domain3.com
RewriteRule ^(.*)$ http://domain3.com/$1 [R=301,L]
于 2013-05-24T08:44:30.840 回答