【问题标题】:Edit .htaccess to redirect multiple domains to one domain编辑 .htaccess 以将多个域重定向到一个域
【发布时间】:2023-03-26 09:34:01
【问题描述】:

我们在将我们的网站路由到它的新域时遇到了问题。我们共有 3 个域。

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?

提前谢谢你!

【问题讨论】:

    标签: .htaccess mod-rewrite redirect


    【解决方案1】:

    您可以使用此代码:

    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]
    

    【讨论】:

    • 这似乎也不起作用。 domain2.com 仍然被重定向,但没有 domain1.com
    • 确保在新的浏览器中进行测试。另外你确定 domain1 的 DocumentRoot 与 domain2 的相同吗?
    • 是的。我确定。另外,我确实在新浏览器中进行了测试。是否有任何理由相信服务器上的某些内容可能已更改导致它无法工作?对不起,如果这个假设似乎牵强。
    • 使用此代码<?php phpinfo(); ?> 创建一个名为info.php 的文件,然后打开http://domain1.com/info.php 以检查它的DOCUMENT_ROOT 值是多少。对http://domain2.com/info.php做同样的事情
    猜你喜欢
    • 2020-05-04
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    • 2017-05-18
    • 2011-06-29
    相关资源
    最近更新 更多