基本上我需要一个.htaccess文件,它会将所有流量重定向到我们的新域。它需要在以下条件下工作:
http://www.olddomain.com/path/file.php => http://www.newdomain.com/path/file.php
https://www.olddomain.com/path/file.php => http://www.newdomain.com/path/file.php
(请注意,在上述情况下,https重定向到http - 这不是问题)
此外:
http://olddomain.com/path/file.php => http://newdomain.com/path/file.php
https://olddomain.com/path/file.php => http://newdomain.com/path/file.php
我几乎得到了它的工作,首先将https版本的www.olddomin.com重定向到http版www.olddomain.com
,然后重定向到新域的http版本,我遇到的问题是非{www}版https://olddomain.com
,重定向到http://olddomain.com
然后停止。
我使用的代码是:
RewriteEngine On
RewriteBase /
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
除了https://olddomain.com/path/file.php
只是重定向到http://olddomain/path/file.php
并停止并且没有重定向到http://newdomain.com/path/file.php
任何帮助都将不胜感激。
答案 0 :(得分:3)
您只需要在olddomain的DOCUMENT_ROOT/.htaccess
文件中使用单一规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ [NC]
RewriteRule ^ http://%1newdomain.com%{REQUEST_URI} [R=301,L,NE]