php根据访问者的语言重定向的最佳方式

时间:2012-10-12 10:59:14

标签: php redirect region

我想确定访客的地区。我的网站有4种语言版本,我想检测访问者是从英语国家还是俄语,阿拉伯语或西班牙语国家访问我的网站。最好的方法是什么?

3 个答案:

答案 0 :(得分:1)

这是我们在脚本中用于执行类似检测的内容:

function get_preferred_lang() {
    if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) {
        preg_match_all('#([a-z-]+) *(?:; *q=([0-9.]+))?#', strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"]), $matches);
        $accept = array_combine($matches[1], $matches[2]);
        foreach ($accept as $key => $val)
        $accept[$key] = $val == '' ? 1.0 : (float) $val;
        arsort($accept);
        return substr(array_shift(array_keys($accept)),0,2); 
      } else {
        return 'unknown';
    }
}

答案 1 :(得分:0)

请使用MaxMind API for PHP:

INSTRUCTIONS

DOWNLOADS

答案 2 :(得分:-1)

您可以使用$_SERVER['REMOTE_ADDR'];获取用户IP地址,并根据此使用此链接继续根据您的要求GEOIP