这是我的代码,放在我的域名主目录中的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时,它似乎工作。我的代码出了什么问题?谢谢!
答案 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]