2016-07-30 35 views
0

在我的網站,用戶可以在不同的國家搜索不同的詞,所以我有這種類型的網址:

http://example.com/search.php?search=keyword&page=1&siteID=US

如果用戶增加一些搜索字段將是:

http://example.com/search.php?minPrice=1&maxPrice=500&search=keyword&page=1&siteID=US

現在,我想爲我在腳本中預設的每個siteID創建子域。

所以,如果用戶呼叫使用的siteID =美國搜索我想重定向到http://us.example.com/

如果用戶搜索的siteID = FR我想要的子域名是這樣http://fr.example.com/

我需要設置通配符爲我的域名?

我如何在PHP中創建一個函數,將每個目標關聯到合適的子域?

謝謝大家!

回答

0

重定向被PHP

$validCountry = ['us','fr'....]; 
if(in_array($_GET['siteID'],$validCountry)){ 
$nQuery = str_replace('siteID='.$_GET['siteID'],'',$_SERVER['REQUEST_URI]); 
header ("Location: http://".$_GET['siteID'].'example.com/'.$nQuery); 
}else{ 
//... 
} 

,但我認爲這是更好地使用JavaScript在搜索表單住重定向

的onsubmit格式文件的位置...等

0

從你的問題,我可以看到siteID = FRsiteID = US即將到來。爲什麼不能在php搜索頁面頂部檢查如下:(這裏我只是檢查siteID是否有任何代碼,如果是的話我重定向到特定的URL)

$siteID=$_REQUEST['siteID'];//send rest of the parameters along if required 
if (!empty($siteID)){  
    $country_list = array('US','FR'); 
    if (in_array($siteID, $country_list)) { 
    $url = "http://$siteID.example.com/"; 
    header('location:'$url); 
    } 
}