宁静致远 发表于 2017-9-19 02:57:33

求教万能的MJJ,网站如何按照区域的IP访问者跳转?

求教万能的MJJ,网站如何按照区域的IP访问者跳转到不同语言的站点页面?

举个栗子:

欧美用户访问www.xxx.com则自动跳转到http://www.xxx.com/en

日本用户访问www.xxx.com则自动跳转到http://www.xxx.com/jp


N年前弄过按带宽线路自动跳转联通、电信什么的,感觉原理应该差不多,时隔多年已老傻目前想不出来,不知道用啥才能达到以上效果?

用一个页面代码跳转?在小鸡设置个什么插件或者啥的用线路识别跳转?头大

hlx98007 发表于 2017-9-19 03:48:55

<?php
if (geoip_country_code_by_name($_SERVER['REMOTE_ADDR']) == 'JP') {
    header("location:http://www.google.co.jp");
}
else {
    header("location:http://www.google.com");
}
?>

自己多写几个else if就行了。

宁静致远 发表于 2017-9-19 04:17:30

hlx98007 发表于 2017-9-19 03:48
自己多写几个else if就行了。

这个原理是IP怎么识别的?

Meeleem 发表于 2017-9-19 10:03:34

hlx98007 发表于 2017-9-19 11:41:23

宁静致远 发表于 2017-9-19 04:17
这个原理是IP怎么识别的?

自己查geoip_country_code_by_name的文档

倾城翻翻 发表于 2017-9-19 11:44:00

检测浏览器语言,跳

bluehut 发表于 2017-9-19 11:57:36

参考,将echo换成跳就行了
<?php
        $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。
        if (preg_match("/zh-c/i", $lang))
        echo "简体中文";
        else if (preg_match("/zh/i", $lang))
        echo "繁体中文";
        else if (preg_match("/en/i", $lang))
        echo "English";
        else if (preg_match("/fr/i", $lang))
        echo "French";
        else if (preg_match("/de/i", $lang))
        echo "German";
        else if (preg_match("/jp/i", $lang))
        echo "Japanese";
        else if (preg_match("/ko/i", $lang))
        echo "Korean";
        else if (preg_match("/es/i", $lang))
        echo "Spanish";
        else if (preg_match("/sv/i", $lang))
        echo "Swedish";
        else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
?>

宁静致远 发表于 2017-9-19 19:55:11

bluehut 发表于 2017-9-19 11:57
参考,将echo换成跳就行了

基友这个是根据浏览器跳吗?

bluehut 发表于 2017-9-20 08:40:45

根据浏览器语言,跳。直接用就行了
<?php
      $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最

优先的语言。


      if (preg_match("/zh-c/i", $lang))
      header("location:http://www.xxx.com/cn");
      else if (preg_match("/jp/i", $lang))
      header("location:http://www.xxx.com/jp");
      else header("location:http://www.xxx.com/en");

?>

宁静致远 发表于 2017-9-20 20:12:08

bluehut 发表于 2017-9-20 08:40
根据浏览器语言,跳。直接用就行了

在index.php设置一次就可以了吧?还是其余的分页面也要设置这样的引用?
页: [1]
查看完整版本: 求教万能的MJJ,网站如何按照区域的IP访问者跳转?