2009-01-05 69 views
2

我想重定向以下为例:重写规则,但保持子域

A.olddomain.com.au/blah.html > A.newdomain.com/blah.html 
B.olddomain.com.au/blah.html > B.newdomain.com/blah.html 

从本质上讲,我有一个可变数量的子域和我只希望更改对重定向域名本身。

任何线索或建议尝试?

谢谢。

回答

4

这应该工作的HTTP情况下

RewriteCond %{HTTP_HOST} (.*)\.olddomain\.com\.au 
RewriteRule (.*) http://%1.newdomain.com/$1 

如果同时使用HTTP和HTTPS,你不得不使用两套规则,一个用于HTTP,另一个用于HTTPS

RewriteCond %{HTTPS} on 
RewriteCond %{HTTP_HOST} (.*)\.olddomain\.com\.au 
RewriteRule (.*) https://%1.newdomain.com/$1 

RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} (.*)\.olddomain\.com\.au 
RewriteRule (.*) http://%1.newdomain.com/$1 
+0

第一次完美工作。感谢那。我从你的答案中假设%1 ..%n是从RewriteCond匹配的,而$ 1 .. $ n是从URL中匹配的? – Carl 2009-01-05 01:06:11