先说下思路,首先获取访问者的IP信息,然后根据IP区域信息库进行对比,IP区域信息库网上有现成的,可下载到本地进行对比,也可直接用新浪或者淘宝,腾讯的API,这个自己baidu,注意编码问题,有的站点喜欢用GBK编码,有的喜欢用UTF-8编码,我用的淘宝的API,是UTF-8编码,对比后跳转到相对应的页面即可.
代码如下:
$ip = getIp();//dede自带的查询IP功能,直接调用
$res1 = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=$ip");
$res1 = json_decode($res1);
$useraddre = $res1->data->region;
$useraddre = mb_convert_encoding($useraddre, "GBK", "UTF-8");
$dzcity = "上海";
$contra= strstr($useraddre,$dzcity);
if(!emptyempty($contra)){
//上海的,跳转到这里
header("Pragma: no-cache");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header('HTTP/1.1 301 Moved Permanently');
header("Location: https://shanghai.youweb.com/");
exit;
}
这样写功能是能实现,但是要加在首页上面,也不知道效率如何,现在先这么写了.我这里要判断的区域就上海的,所以就这么写了,如果还要判断其他地方的,自己再加判断就可以了.
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!