2014-02-17 124 views
0

我们遇到问题,请将我们的网站路由到它的新域。我们共有3个域名。编辑.htaccess将多个域重定向到一个域

domain1.com domain2.com domain3.com

哪里domain3.com是新域domain1.com和domain2.com需要指向。

我们目前的.htaccess文件是建立链接,以便:

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

RewriteCond %{HTTP_HOST} ^www\.domain1\.com [OR] 
RewriteCond %{HTTP_HOST} ^domain1\.com [OR] 
RewriteCond %{HTTP_HOST} ^www\.domain2\.com [OR] 
RewriteCond %{HTTP_HOST} ^domain2\.com [OR] 
RewriteCond %{HTTP_HOST} ^domain3\.com.com 
RewriteRule ^(.*)$ http://www.domain3.com/$1 [R=permanent,L] 

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

什么工作:

domain2.com成功地重定向到domain3.com

domain3.com成功进入DOMAIN3 .com

什么不工作:

domain1.com不重定向到domain3.com

什么必须在htaccess文件改为得到domain1.com也永久重定向至domain3.com?

预先感谢您!

回答

0

您可以使用此代码:

RewriteEngine on 

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

RewriteCond %{HTTP_HOST} ^(www\.)?(domain1|domain2)\.com$ [NC] 
RewriteRule ^(.*)$ http://www.domain3.com/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 
+0

似乎并没有擦出火花。 domain2.com仍然重定向,但不是domain1.com – user2777790

+0

请确保在新浏览器中进行测试。你也确定domain1的DocumentRoot与domain2的相同吗? – anubhava

+0

是的。我确定。另外,我在一个新的浏览器中测试过。有什么理由相信服务器上的某些东西可能已经改变,导致它无法正常工作?对不起,如果这个假设似乎牵强附会。 – user2777790

相关问题