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织梦建站的时候会遇到在调用缩略图,要怎么做到有缩略图的时候才显示,无缩略图就不显示,方法如下 [field:array runphp='yes']@me = (strpos(@me['litpic'],'defaultpic') ? "":""); [/field:array] 带内容简介示例代码如下: [field:array runphp=’yes’
dedecms5.7 采集文章导出时出现类似于Character postion **, field Error的错误,这样的错误会导致文章里没有内容。 引起这个问题的原因可能是description中一些特殊符号引起的,如果你不想出现这个问题,可以在采集文章时过滤掉description,导出文档后再批
dedecms我们用火车头采集文章时发现,文章入库后显示发布时间为1970-1-1,这个一般是什么原因造成的,该如何操作呢? 开始我以为是发布模块有问题,因为这个不需要采集这个时间,所以我在发布模块里面把时间标签给删除了,但加上后,还是同
在{dede:arclist}这个标签中大家都知道有个[field:global.autoindex/],这个变量每生成一行就+1,我们有时候在使用{dede:sql}标签也需要加上这个功能,需要怎么操作呢? 首先打开/include/taglib/sql.lib.php这
我们有时候让分管理添加的文档,又懒得审核,那么怎么让系统自动审核并生成文档呢? 首先在plus下新建文件,名字可以随意起,比如我的是make.php 内容如下: ?php$lasttime=filemtime($_SERVER['DOCUMENT_ROOT']."/index.html");$interval=180; //更新时间秒为单位18
超级实用的dedecms织梦的数据库操作类,学习如下类之后,以后写sql语句就容易多了,使用时候请自行按照自己网站修改表前缀。 获取一条记录的内容: $row = $dsql-GetOne("Select * From dede_* where id = $aid");echo $row['id']; 将查询获取总数输出 $row = $dsql-Ge