2013-11-23 103 views
0

這是我的代碼,放置在我的域的主目錄中的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中時,它似乎可以正常工作。我的代碼有什麼問題?謝謝!

回答

1

感謝Anubhava您的幫助。我環顧了一下,發現這個修改似乎有伎倆。更改爲RewriteRule

GeoIPEnable On 

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

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

我把它放在我的.htaccess中,它工作!我也看到了這個用於重定向子文件夾的用法。

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] 
+0

這個附加條件似乎不起作用。它實際上似乎覆蓋了其他條件和規則,並將我發送到了domain.com。還是)感謝你的建議! – user1507506

+0

好吧,你可以嘗試我現在​​編輯的代碼。我之前有一個錯字。 – anubhava