使用GeoIP和.htaccess重定向流量

时间:2015-08-26 16:05:20

标签: apache .htaccess redirect geoip

我尝试使用GeoIP和.htaccess将网络流量从阿根廷重定向到我们网站的某个页面,将所有其他流量重定向到不同的页面。

这是我尝试使用的一个例子(在这个例子中,我只使用两个国家,阿根廷和哥伦比亚。)

GeoIPEnable On

# Redirect Colombia
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CO$
RewriteRule ^(.*)$ http://www.mywebsites.com.ar/index2.html [L]

# Redirect Argentina
#RewriteEngine on
#RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AR [NC]
#RewriteRule ^(.*)$ http://www.mywebsite.com.ar/index.html [L]

事情是,它不起作用。

我也试过这个:

RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^AR$

而不是声明我想要重定向的每个国家,但也没有。

有人能发现问题吗?

提前致谢,

伊格纳西奥

2 个答案:

答案 0 :(得分:0)

您是否尝试使用与哥伦比亚相同的语法?     

    # Redirect Argentina
    RewriteEngine on
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AR$ 
    RewriteRule ^(.*)$ http://www.mywebsite.com.ar/index.html [L]
    

I think [NC] is not necessary because GeoIP database is Uppercase (as I see on csv).

You can find more at http://dev.maxmind.com/geoip/legacy/mod_geoip2/#Examples

答案 1 :(得分:0)

在您的.htaccess文件中,输入以下代码 这会将所有流量(印度境外)重定向到https://newexample.abc.com

<IfModule mod_geoip.c>
            GeoIPEnable On
            RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^IN$
            RewriteRule ^(.*)$ https://newexample.abc.com/$1 [L]
</IfModule>