$ _GET值的子域名

时间:2016-07-30 15:55:29

标签: php mod-rewrite get subdomain wildcard-subdomain

在我的网站中,用户可以搜索不同国家/地区的不同字词,因此我有这种类型的网址:

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中创建一个函数,将每个目标关联到正确的子域?

全部谢谢!

2 个答案:

答案 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);
    }
}