2014-04-28 32 views
1

我在htaccess的寫了這個:htaccess以及GEOIP無限循環

GeoIPEnable On 
RewriteEngine On 
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} PE 
RewriteCond %{HTTP_HOST} myweb.com [NC] 
RewriteCond %{HTTP_HOST} !es [NC] 
RewriteCond %{REQUEST_URI} !^/es/ [NC] 
RewriteRule ^(.*)$ /es/$1 [R,L] 

SetOutputFilter DEFLATE 
AddOutputFilterByType DEFLATE text/html text/css application/x-javascript 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

我想從祕魯和其他國家的用戶被重定向到http://myweb.com/es

但我得到了一個錯誤: http://myweb.com/es/es/es/es/es/es/es/...s/es/es/es/es/ 哪有我修復它? 謝謝。

回答

1

使用負前瞻正則表達式來避免重定向的時候已經是/es/

GeoIPEnable On 
RewriteEngine On 

RewriteCond %{REQUEST_URI} !\.(jpe?g|gif|bmp|png|tiff|css|js)$ [NC] 
RewriteCond %{REQUEST_URI} !^/(es/|index\.php) [NC] 
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} PE 
RewriteCond %{HTTP_HOST} myweb\.com$ [NC] 
RewriteCond %{HTTP_HOST} !es [NC] 
RewriteRule ^(.*)$ /es/$1 [R,L] 
+0

看到更新後的代碼,並在新的瀏覽器進行測試。 – anubhava

+0

:(,我得到了谷歌瀏覽器同樣的錯誤,我心中已經更新了我的職務與完整的htaccess – Luis

+0

爲了測試註釋掉所有其他規則,只保留這一個 – anubhava