我的网站是俄语和英语的。我想知道您可以推荐哪种 php 脚本或其他(可能是插件),以便将用户从俄罗斯(或其他俄语国家)重定向到网站的俄语版本。
谢谢你。
我的网站是俄语和英语的。我想知道您可以推荐哪种 php 脚本或其他(可能是插件),以便将用户从俄罗斯(或其他俄语国家)重定向到网站的俄语版本。
谢谢你。
你需要这样的东西:
http://php.net/manual/en/book.geoip.php
然后简单
if(geoip_country_name_by_name ($ip) <>'Rusia') {header("Location:". $english) else {header ("Location:". $russian}
有两种方法可以做到这一点,使用 HTTP 标头或使用 IP 查找数据库。
使用 HTTP 标头,您可以检查类似...
<?php
switch ($_SERVER['HTTP_ACCEPT_LANGUAGE']){
case "ru":
// Serve Russian Page
break;
default:
// Serve English Page
break;
}
?>
或者您可以通过执行类似的操作来使用 IP 查找数据库...
<?php
$return = file_get_contents("http://api.hostip.info/get_html.php?ip=" . $_SERVER['REMOTE_HOST']);
$returndata = explode("\n", $return);
if( $returndata[0] == "Country: RUSSIAN FEDERATION (RU)" ){
// Serve Russian Page
}else{
// Serve English Page
}
?>
使用 HTTP 标头应该更好,因为这是设计的,当用户位于代理服务器后面时它也应该工作(尽管取决于类型)。但是,这取决于您使用哪种方法。
编辑:最好使用第一种方法