。考虑我的域名是www.example.com。它是英文的
我有一个语言版本的荷兰语www.example.com/nl
我想将网址重定向到www.example.com/nl,仅限于向Netherland请求的人。
我的网站是共享托管。我怎样才能做到这一点?
答案 0 :(得分:5)
您可以根据来自用户的浏览器语言设置重定向:
RewriteCond %{HTTP:Accept-language} nl [NC]
RewriteRule ^$ /nl [L,R=301]
答案 1 :(得分:3)
您必须使用GeoIP服务并确定访问者的国家/地区,然后进行正确的重定向。
在此处下载PHP的Geo API http://geolite.maxmind.com/download/geoip/api/php/
有样本如何使用代码。
这就像是
include("geoipcity.inc");
include("geoipregionvars.php");
$gi = geoip_open("/usr/local/share/GeoIP/GeoIPCity.dat",GEOIP_STANDARD);
$record = geoip_record_by_addr($gi,$_SERVER['REMOTE_ADDR']);
if ( $record->country_code == "NL" ) {
header('Location: http://www.yoursite.com/nl');
}
答案 2 :(得分:2)
看看apache模块mod_geoIP,可能会做你想要的,但是否则你将不得不依赖脚本来获取地理定位信息并根据它重定向。
作为一个侧面话题,IP查找在获取地理位置信息方面并不是100%准确,所以要小心。通常最好让用户选择第一轮,然后保存一个cookie以记住这个选择。
编辑:是的@Pekka有一个很好的观点,谷歌上有很多关于它的信息。