htaccess多个子域到多个URL

时间:2013-06-22 03:59:25

标签: .htaccess url-rewriting

我不确定如何最好地解决这个问题。

我们这里有几个销售人员,每个人都想要一个子域名,即:

http://johndoe.mydomain.com  

但是,我们在网站上的所有个人资料都是动态显示的,IE:

http://mydomain.com/sales/index.php?person=jdoe

我们有大约15名销售人员,最终我将有时间在输入新的个人资料时编写此脚本。现在,如果需要,我可以手动编辑.htaccess文件。我见过的所有示例似乎都重定向到特定的域或子文件夹。我该怎么做呢?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您将其放在.htaccess文件中:

RewriteCond  %{REQUEST_FILENAME}  !-f
RewriteCond  %{HTTP_HOST}         ^(.+)\.mydomain\.com$         [NC]
RewriteRule  ^/?$                 /index.php?person=%1          [P,L,QSA]

这将更通用:

RewriteCond  %{REQUEST_FILENAME}  !-f
RewriteCond  %{HTTP_HOST}         ^(.+)\.mydomain\.com$         [NC]
RewriteRule  ^.*$                 /index.php?person=%1&page=$0  [P,L,QSA]

问题也可以在PHP级别解决:

$domain_array = explode(".", $_SERVER["HTTP_HOST"]);
$person = $domain_array[0];

或者:

if (preg_match("@^(.+)\.mydomain\.com$@", $_SERVER["HTTP_HOST"], $match)){
    $person = $match[1];
} else{
    $person = "";
}