子域名和网址重写

时间:2012-10-11 20:01:39

标签: redirect rewrite subdomain

早上好,我有一个问题,我找不到解决方案。 我需要将多个域指向同一个文件夹,但是当我创建一个子域指向具有相同名称的子域的文件夹时我的托管。

我想要的结果是:

demo.domainname.tld/index.php将指向www.domainname.tld/shop/index.php?username=demo demo.domainname.tld/product.php?id=100将指向www.domainname.tld/shop/product.php?id=100&username=demo

test.domainname.tld/index.php将指向www.domainname.tld/shop/index.php?username=test test.domainname.tld/product.php?id=100将指向www.domainname.tld/shop/product.php?id=100&username=test

将url保留在子域名地址中。

我正在创建一个电子商务平台,我希望使用独特的电子商务,并通过保留子域名的用户名来加载不同的内容。

有可能吗?如何?

1 个答案:

答案 0 :(得分:0)

只要所有*.domainname.tld DNS条目指向与www.domainname.tld相同的IP且它们都共享相同的文档根目录,您就可以将这些规则添加到文档根目录中的htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.domainname\.tld$ [NC]
RewriteRule ^/?index\.php$ /shop/index.php?username=%1 [L,QSA]

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.domainname\.tld$ [NC]
RewriteRule ^/?product.php$ /shop/product.php?username=%1 [L,QSA]

如果您想实际进行重定向,从而更改浏览器地址栏中的网址,请在方括号中添加R标记,如下所示:[L,QSA,R][L,QSA,R=301]永久重定向。