在我的网站中,用户可以搜索不同国家/地区的不同字词,因此我有这种类型的网址:
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 = US调用搜索,我希望重定向到http://us.example.com/
如果用户搜索siteID = FR,我希望子域名如下http://fr.example.com/
我需要为我的子域设置通配符吗?
我如何在php中创建一个函数,将每个目标关联到正确的子域?
全部谢谢!
答案 0 :(得分: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来实时重定向
提交表格文件位置......等
答案 1 :(得分:0)
根据您的问题,我可以看到 siteID = FR 或 siteID = 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);
}
}