2016-07-30 92 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); 
    } 
}