使用mod_GeoIP的htaccess条件重写规则

时间:2012-01-26 23:40:17

标签: .htaccess php-5.3 geoip

我正在使用mod_geoip为我的电子商务网站将客户从澳大利亚重定向到同一服务器上的其他店面。商店位于root / store /,我希望它们被重定向到root / austore /

我已经得到它,所以基本的重写完美无缺,但我希望url结构是一样的。例如,如果有人点击root / store / category / product /的链接并且他们居住在海外,我希望将它们重定向到root / austore / category / product /,因为两个商店的文件结构相同。就像现在一样,如果他们点击该链接,它会将它们重定向到基本的/ / austore /。

这是现在的重写规则。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AU$
RewriteRule ^([^/]+)$ /austore/ [L]

我正在编辑的.htaccess文件位于商店/目录中。

非常感谢任何帮助。谢谢!

阿伦

1 个答案:

答案 0 :(得分:1)

尝试

#skip processing /store/skin/ directory
RewriteRule ^store/skin/  - [L,NC] 

#if they live overseas i.e not Australia
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^AU$
#if someone clicks on a link that is root/store/category/product/ 
RewriteCond %{REQUEST_URI} ^/store(/.*)$ [NC] 
#I want them to be redirected to root/austore/category/product/ 
RewriteRule ^ /austore%1 [L,R]