原文来自:https://www.zixuephp.com
dede首页添加根据IP访问区域跳转对应页面
根据访问者的IP来判断所在区域,根据区域信息,来跳转相对应的页面,好多分类信息网,团购网都有这样的功能,根据你在的城市,然后跳转相应的页面显示此城市的相关信息.
先说下思路,首先获取访问者的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.1301MovedPermanently');
- header("Location:http://www.phpfensi.com.com/");
- exit;}
这样写功能是能实现,但是要加在首页上面,也不知道效率如何,现在先这么写了.
我这里要判断的区域就上海的,所以就这么写了,如果还要判断其他地方的,自己再加判断就可以了.