2013-12-08 250 views
2

我一直在想出一種方法來重定向只有一個域到HTTPS,但還沒有找到一個好的解決方案。我可以使用HTTPS!= on將所有請求重定向到https,但我託管多個域,並且只有一個域具有SSL。htaccess重定向到HTTPS

這給了我一些成功。

RewriteCond %{HTTP_HOST} ^(127\.0\.0\.1|localhost)$ 
RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

但它似乎並不像重定向和www.mydomain.com/order/網址mydomain.com/order/

基本上它僅適用於目前www.mydomain主頁。 com或mydomain.com。

我錯過了什麼?

回答

1

你的問題是這樣的: 「只有當主機是127.0.0.1localhost使用下RewriteRule正是

RewriteCond %{HTTP_HOST} ^(127\.0\.0\.1|localhost)$ 

,上面寫着:如果您在同一臺服務器上託管mydomain.com,則它將不匹配。您需要添加要重定向的域的名稱。例如:

RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ 
RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
+0

這工作的一種享受。儘管如此,我走了一條稍微不同的路線。我結束了使用RewriteCond%{SERVER_NAME} ^(www \ .domain \ .com | domain \ .com) RewriteCond%{HTTPS}!on RewriteRule(。*)https://%{HTTP_HOST}%{REQUEST_URI} [R = 301,L] – Predator