我用一些子域名建立了一个网站;根据国家/地区的IP地址,用户应自动重定向到相应的子域。
示例:
主要网站为abcd.com
ind.abcd.com
答案 0 :(得分:27)
从以下网址下载geoPlugin类:
http://www.geoplugin.com/_media/webservices/geoplugin.class.phps
将 index.php 文件放在根文件夹中:
<?php
require_once('geoplugin.class.php');
$geoplugin = new geoPlugin();
$geoplugin->locate();
// create a variable for the country code
$var_country_code = $geoplugin->countryCode;
// redirect based on country code:
if ($var_country_code == "AL") {
header('Location: http://sq.wikipedia.org/');
}
else if ($var_country_code == "NL") {
header('Location: http://nl.wikipedia.org/');
}
else {
header('Location: http://en.wikipedia.org/');
}
?>
以下是国家/地区代码列表:
答案 1 :(得分:25)
检查您的服务器上是否安装了mod_geoip模块( GeoIP Extension )。
然后,相应地调整您的.htaccess
文件:
GeoIPEnable On
GeoIPDBFile /path/to/GeoIP.dat
# Start Redirecting countries
# Canada
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CA$
RewriteRule ^(.*)$ http://ca.abcd.com$1 [L]
# India
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^IN$
RewriteRule ^(.*)$ http://in.abcd.com$1 [L]
# etc etc etc...
答案 2 :(得分:16)
你可以不用require_once('geoplugin.class.php');
这样做:
<?php
$a = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR']));
$countrycode= $a['geoplugin_countryCode'];
if ($countrycode=='US')
header( 'Location: http://example1.com' ) ;
else
header( 'Location: http://example2.com' ) ;
?>
答案 3 :(得分:1)
如果您使用的是WordPress网站,那么它易于使用 - (Geo Redirect插件)。它像魅力一样工作。易于使用,易于实施。