重定向到子域会产生重定向循环错误

时间:2013-11-23 09:24:40

标签: .htaccess loops redirect subdomain geoip

这是我的代码,放在我的域名主目录中的htaccess中。尝试将国家/地区流量(使用mod_geoip)重定向到我的子域。

GeoIPEnable On

RewriteEngine On 
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^US$ [NC]
RewriteRule ^(.*)$ http://sub.domain.com/$1 [R,L] 

然而,当我付诸实践时,我遇到了重定向循环错误。当我将我的重写规则切换到domain.com然后将文件放在sub.domain.com时,它似乎工作。我的代码出了什么问题?谢谢!

2 个答案:

答案 0 :(得分:1)

感谢Anubhava的帮助。我环顾四周,发现这个修改似乎可以解决问题。对RewriteRule进行了更改。

GeoIPEnable On

RewriteEngine On 
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^US$ [NC]

RewriteRule !^(subdomain) http://www.subdomain.domain.com [L,R]

我把它放在我的.htaccess中,它有效!我看到这个用途也用子文件夹重定向。

答案 1 :(得分:0)

使用附加条件尝试此规则,以避免在主机已经sub.domain.com时重定向:

GeoIPEnable On

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^sub\.domain\.com$ [NC]
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^US$ [NC]
RewriteRule ^(.*)$ http://sub.domain.com/$1 [R,L]