根据位置重定向页面
Posted
技术标签:
【中文标题】根据位置重定向页面【英文标题】:Redirecting pages depending on location 【发布时间】:2015-06-16 18:29:22 【问题描述】:请帮助我,因为我是 php 处女,请耐心等待。
我正在使用 Cloudflare,并希望将印度尼西亚以外的每个页面重定向到特定页面。经过几次尝试,我可以从index.php
重定向到每个单独的目标页面。
但是当我将此重定向代码放在目标页面上时,问题就来了。它似乎无限循环。我想保留此功能,因为我不希望点击 Google 搜索结果的访问者最终进入错误的页面。
如何正确检查每个页面上的IP,如果它们来自ID
,那么它们将被重定向到index_id.php
。如果他们不是,他们会去index_ww.php
。这没有无限循环,因为这段代码在index_id.php
和index_ww.php
中。
$country_code = $_SERVER["HTTP_CF_IPCOUNTRY"];
if ($country_code=="ID")
$link = 'http://www.myweb.com/index_id.php';
else
$link = 'http://www.myweb.com/index_ww.php';
header("location:$link");
exit;
【问题讨论】:
【参考方案1】:尝试在目标 URL 的末尾添加一个查询参数,例如 ?redirected=1
,并始终在执行重定向代码之前检查该参数。这是一个例子:
<?php
if (empty($_GET['redirected']))
$country_code = $_SERVER["HTTP_CF_IPCOUNTRY"];
if ($country_code=="ID")
$link = 'http://www.myweb.com/index_id.php?redirected=1';
else
$link = 'http://www.myweb.com/index_ww.php?redirected=1';
header("location:$link");
exit;
?>
【讨论】:
以上是关于根据位置重定向页面的主要内容,如果未能解决你的问题,请参考以下文章