3

我只是想问一个关于.htaccess 的快速问题。

这是我的虚拟主机如何与子域一起使用...

一旦我创建了一个子域......然后他们像这样在根文件夹中创建一个文件夹......

www.mydomain.com ---> public_html
sub.mydomain.com ---> public_html/sub

我想要做的是......将所有请求从 sub.mydomain.com 重定向到 www.mydomain.com 并使用一些 GET 变量或其他东西来识别请求来自哪个子域......

所以例如......当我收到一个像这样工作的请求时

http://sub.mydomain.com/myphp.php ---> http://www.mydomain.com/myphp.php?comingfrom=sub
http://sub.mydomain.com/(anyUrl)  ---> http://www.mydomain.com/(anyUrl)?comingfrom=sub

我还想知道这是否会执行主域中存在的一些 .htaccess 重定向...

希望大家能帮帮我...

提前致谢...

4

1 回答 1

1

将具有以下内容的 .htaccess 放入您的子域文件夹中:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.com$ [NC]
RewriteRule ^(.*) http://www.mydomain.com$1?comingfrom=%1 [QSA,R=301,L]

(未经测试,抱歉)

编辑:

您指出您希望将子域保留在地址栏中并且不想要重定向。所以你需要<VirtualHost>像这样对你的 www.mydomain.com进行视图更改

 <VirtualHost ...:80>
   ServerName www.mydomain.com
   ServerAlias mydomain.com
   ServerAlias sub.mydomain.com

   DocumentRoot /path/to/your/docroot/of/www.mydomain.com

   RewriteEngine On
   RewriteCond %{HTTP_HOST} !^www\.mydomain\.com [NC]
   RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.com$ [NC]
   RewriteRule ^(.*) $1?comingfrom=%1 [QSA,PT,L]
 </VirtualHost>
于 2012-04-28T13:47:00.030 回答