[英]multiple domain redirection with htaccess rewrite rules
我正在寻找一种方法将所有旧域重定向到新域,
看起来它们在基本级别被重定向,但是当它来到子类别或perm链接时,根本没有重定向。
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} (www\.)?mydomain1\.com$ [NC]
RewriteCond %{HTTP_HOST} (www\.)?mydomain2\.com$ [NC]
RewriteCond %{HTTP_HOST} (www\.)?mydomain3\.com$ [NC]
RewriteCond %{HTTP_HOST} (www\.)?mydomain4\.com$ [NC]
RewriteCond %{HTTP_HOST} (www\.)?mydomain5\.com$ [NC]
RewriteCond %{HTTP_HOST} (www\.)?mydomain6\.com$ [NC]
RewriteRule ^(.*) http://www.mydomain7.com/$1 [QSA,L,R=301]
基本级别重定向很好:mydomain1.com/graph.php => mydomain7.com
但即使在这个级别,它也无法重定向到同一页面
更重要的是perm-links:
mydomain1.com/users/13/James =>没有重定向
最干净的解决方案是重定向任何不是www.mydomain7.com的域名
RewriteCond %{HTTP_HOST} !^www\.mydomain7\.com$ [NC]
RewriteRule ^(.*) http://www.mydomain7.com/$1 [L,R=301]
默认情况下,所有RewriteCond都是AND,因此您的规则将无效,因为%{HTTP_HOST}
值不能同时是所有这些域。
要么使用Gerben建议的否定,要么像这样重写你的代码:
RewriteCond %{HTTP_HOST} ^(www\.)?(mydomain1|mydomain2|mydomain3|mydomain4|mydomain5|mydomain6)\.com$ [NC]
RewriteRule ^ http://www.mydomain7.com%{REQUEST_URI} [L,R=301]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.