2015-04-01 104 views
0

我知道這個問題以前一定是有問題的,但我無法找到針對我的問題的特定答案。我有多個指針域設置指向一個品牌領域。我用(以下domain.com注象徵着品牌的域)重定向HTTP:.htaccess將舊域重定向到新域,同時尊重HTTPS

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\.domain\.com 
RewriteRule (.*) http://www.domain.com/$1 [R=301,L] 

然而,這並不重定向HTTPS。我試過了:

RewriteEngine on 
RewriteCond %{HTTPS} on 
RewriteCond %{HTTPS_HOST} !^www\.domain\.com 
RewriteRule (.*) https://www.domain.com/$1 [R=301,L] 

RewriteCond %{HTTP_HOST} !^www\.domain\.com 
RewriteRule (.*) http://www.domain.com/$1 [R=301,L] 

但是這樣會導致重定向循環。實質上,我想要做的是維護協議(http或https),並從舊域重定向到新域,同時保持請求的其餘部分不變。

所以例如如果有人試圖查找:

http://www.pointerdomain.com/dingos.html 

得到的將是:

http://www.domain.com/dingos.html 

,並請求:

https://www.pointerdomain.com/flapjacks.html 

會轉發到:

https://www.domain.com/flapjacks.html 

如果有人可以提供一點點洞察,我會非常感激。

+0

據稱以前回答的問題與我所要求的不同。 – user3128461 2015-04-01 22:01:45

回答

1

這裏試試看。這應該適用於httphttps這兩種情況。

RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC] 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.domain.com%{REQUEST_URI} [L,R=301] 
+0

謝謝我會測試這個,讓你知道它是如何去。 – user3128461 2015-04-01 22:03:08

+0

這會將所有http請求從該點重定向到主域。但是,如果URL使用https協議,則不會重定向。而是維護以前的指針域URL。是否有機會阻止https的重定向? – user3128461 2015-04-02 11:25:59