2009-01-05 77 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