根据位置重定向页面

时间:2015-06-16 18:29:22

标签: php redirect geolocation

请帮助我,请耐心等待,因为我是个处女。

我正在使用Cloudflare,并希望将每个页面从印度尼西亚外部重定向到特定页面。尝试几次后,我可以从index.php重定向到每个单独的目标页面。

但是当我将此重定向代码放在目标页面上时会出现问题。它似乎无限循环。我希望保持此功能,因为我不希望点击Google搜索结果的访问者最终出现在错误的页面中。

如何在每个页面上正确检查IP,如果它们来自ID,则会将其重定向到index_id.php。如果他们不是,他们会去index_ww.php。这没有无限循环,因为此代码同时包含index_id.phpindex_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 个答案:

答案 0 :(得分:0)

尝试将查询参数添加到目标网址的末尾,例如?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;
}

?>