将所有子域重定向到域

时间:2013-08-21 17:43:36

标签: apache .htaccess drupal drupal-domain-access

我的某个网站存在问题,我需要将所有子域名重定向到主域名。我有一个Drupal站点设置,共享2个域之间的内容(使用域模块)。这基本上是发生了什么。

在我的.htaccess文件中,我有这些规则..

RewriteCond %{HTTP_HOST} !^mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://mydomain.com/$1 [L,R=301] 

这会将任何子域重定向到mydomain.com,这太棒了!

问题是我有另一个域(myotherdomain.com)使用相同的Drupal站点通过域模块共享内容。

当我转到myotherdomain.com时,根据该.htaccess规则,它会重定向到mydomain.com,我不想发生这种情况。有什么方法可以阻止这种情况发生吗?

回顾一下:

  1. 任何 .mydomain.com需要重定向到mydomain.com
  2. myotherdomain.com的任何流量都需要留在myotherdomain.com而不会被重定向。

2 个答案:

答案 0 :(得分:1)

将应用RewriteRule之前的任何RewriteCond。您是否尝试过简单地添加RewriteCond %{HTTP_HOST} !^myotherdomain\.com$ [NC]

答案 1 :(得分:0)

只需为您的其他域添加其他排除条件:

RewriteCond %{HTTP_HOST} !^myotherdomain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://mydomain.com/$1 [L,R=301] 

这样,任何对“myotherdomain.com”的请求都不会被重定向,并且任何对“mydomain.com”的请求都不会被重定向。