1

我的网站是俄语和英语的。我想知道您可以推荐哪种 php 脚本或其他(可能是插件),以便将用户从俄罗斯(或其他俄语国家)重定向到网站的俄语版本。

谢谢你。

4

2 回答 2

0

你需要这样的东西:

http://php.net/manual/en/book.geoip.php

然后简单

if(geoip_country_name_by_name ($ip) <>'Rusia') {header("Location:". $english) else {header ("Location:". $russian}

于 2012-11-29T18:23:39.277 回答
0

有两种方法可以做到这一点,使用 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 标头应该更好,因为这是设计的,当用户位于代理服务器后面时它也应该工作(尽管取决于类型)。但是,这取决于您使用哪种方法。

编辑:最好使用第一种方法

于 2012-11-29T18:20:11.933 回答