求教万能的MJJ,网站如何按照区域的IP访问者跳转?
求教万能的MJJ,网站如何按照区域的IP访问者跳转到不同语言的站点页面?举个栗子:
欧美用户访问www.xxx.com则自动跳转到http://www.xxx.com/en
日本用户访问www.xxx.com则自动跳转到http://www.xxx.com/jp
N年前弄过按带宽线路自动跳转联通、电信什么的,感觉原理应该差不多,时隔多年已老傻目前想不出来,不知道用啥才能达到以上效果?
用一个页面代码跳转?在小鸡设置个什么插件或者啥的用线路识别跳转?头大
<?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就行了。 hlx98007 发表于 2017-9-19 03:48
自己多写几个else if就行了。
这个原理是IP怎么识别的? 宁静致远 发表于 2017-9-19 04:17
这个原理是IP怎么识别的?
自己查geoip_country_code_by_name的文档 检测浏览器语言,跳 参考,将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"];
?> bluehut 发表于 2017-9-19 11:57
参考,将echo换成跳就行了
基友这个是根据浏览器跳吗? 根据浏览器语言,跳。直接用就行了
<?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");
?> bluehut 发表于 2017-9-20 08:40
根据浏览器语言,跳。直接用就行了
在index.php设置一次就可以了吧?还是其余的分页面也要设置这样的引用?
页:
[1]