2010-03-01 120 views
0

我有两个网站实际上是相同的,其中example.com共享来自examples.com的所有文件。因此,无论在exampples.com中进行的更改如何,example.com都会自动更新。这意味着他们有相同的.htaccess文件。 问题是,我希望这两个网站都重定向到非www到www网址。我得到这个:.htaccess重定向 - 两个共享网站

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

回答

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

%{HTTP_HOST}取代example.com,使您的规则主机独立

+0

即使在'RewriteCond'行? – 2010-03-01 15:01:01

+0

不,你是正确的只是在重写规则 – Mathieu 2010-03-01 15:31:11

1

这应做到:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example\.com$ [NC,OR] 
RewriteCond %{HTTP_HOST} ^examples\.com$ [NC] 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

基本上你要添加OR条件说如果exam​​ple.com或examples.com不以www开头。然后将其添加到相应的域名。

+0

+1这个工程,但我喜欢伊格纳西奥的答案。 – 2010-03-01 15:19:07

+0

很酷。如果您添加了更多不想包含在规则中的域名,那么您需要使用像这样的规则,明确规定要重写的所有域名。 – Dolbz 2010-03-01 15:43:59

+0

刚刚实现。两个RewriteCond不是必需的。你可以有:RewriteCond%{HTTP_HOST} ^例子?\。com $ [NC] – Dolbz 2010-03-01 15:45:16