沃梦达 / IT编程 / CMS教程 / 正文

dedecms根据来访IP区域自动跳转对应页面的方法

根据访问者的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.1 301 Moved Permanently');
header("Location: https://shanghai.youweb.com/");
exit;
}
这样写功能是能实现,但是要加在首页上面,也不知道效率如何,现在先这么写了.
我这里要判断的区域就上海的,所以就这么写了,如果还要判断其他地方的,自己再加判断就可以了.

本文标题为:dedecms根据来访IP区域自动跳转对应页面的方法