我有大约 18 个域需要重定向到新域。它必须在有或没有 www 前缀的情况下工作。
我已经尝试过这个:
<IfModule mod_rewrite.c>
RewriteEngine on
Rewritecond %{HTTP_HOST} !^www\.domain\.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
</IfModule>
这给了我一个重定向循环(我认为以前只适用于 www?)。
最佳答案
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain1.com [OR]
RewriteCond %{HTTP_HOST} ^domain2.com [OR]
RewriteCond %{HTTP_HOST} ^domain3.com [OR]
RewriteCond %{HTTP_HOST} ^domain4.com [OR]
RewriteCond %{HTTP_HOST} ^domain5.com
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=permanent,L]
这会将您的所有 18 个域重定向到新的单一域 www.newdomain.com
。
否则,如果每个域位于单独的托管上,您可以使用以下代码来重定向它们:
RewriteCond %{HTTP_HOST} ^domain.com
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=permanent,L]
关于.htaccess - 将多个域名重定向到一个域名(前面带或不带www),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17365397/