2015-06-16 127 views
0

請幫助我,並保持耐心,因爲我是一名php處女。根據位置重定向頁面

我正在使用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; 

回答

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; 
} 

?>