1

早上好,我有一个问题,我没有找到解决方案。我需要将多个域指向同一个文件夹,但是当我创建子域时我的主机指向与子域同名的文件夹。

我想要的结果是:

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 中保留子域地址。

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

有可能的?如何?

4

1 回答 1

0

只要所有的*.domainname.tldDNS 条目都指向同一个 IPwww.domainname.tld并且它们都共享同一个文档根目录,您可以将这些规则添加到文档根目录中的 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]

如果您想实际进行重定向,从而更改浏览器地址栏中的 URL,请R在方括号中包含一个标志,使其看起来像:[L,QSA,R][L,QSA,R=301]永久重定向。

于 2012-10-11T20:09:14.313 回答