. 考虑我的域名是 www.example.com 。它是英文的
我有荷兰语 www.example.com/nl 的一种语言版本
我只想将 url 重定向到 www.example.com/nl 给从荷兰请求的人。
我的网站在共享主机中。我怎样才能做到这一点?
. 考虑我的域名是 www.example.com 。它是英文的
我有荷兰语 www.example.com/nl 的一种语言版本
我只想将 url 重定向到 www.example.com/nl 给从荷兰请求的人。
我的网站在共享主机中。我怎样才能做到这一点?
您可以根据来自用户的浏览器语言设置进行重定向:
RewriteCond %{HTTP:Accept-language} nl [NC]
RewriteRule ^$ /nl [L,R=301]
您必须使用 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');
}
看看 apache 模块 mod_geoIP,可能会做你想做的事,但否则你将不得不依赖脚本来获取地理位置信息并基于此重定向。
作为一个附带主题,IP 查找在获取地理位置信息方面并不是 100% 准确的,所以要小心。通常最好让用户第一次选择,然后保存一个 cookie 来记住这个选择。
编辑:是的,@Pekka 有一个很好的观点,谷歌上有大量关于它的信息。