簡體   English   中英

從非www重定向到www並強制使用SSL

[英]Redirect from non-www to www and force SSL

我想將所有http流量都強制為https,同時也總是將www強制為。

這是我到目前為止的內容:

RewriteCond %{SERVER_PORT} 80 
RewriteCond %{HTTP_HOST} ^mydomain\.com
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

當網址不包含www時,這似乎可以正常工作。 因此, http://mydomain.com正確地重定向到https://www.mydomain.com

但是,當存在www部件時,它不能正確重定向到https。 因此,www.mydomain.com不會重定向到https://www.mydomain.com

編輯我已經用兩個重寫塊來工作了:

# Force ssl
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# redirect non-www to www
RewriteCond %{HTTP_HOST} ^mydomain\.com
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

不知道這是否可以接受,但可以

在重寫器中使用您的domain name而不要使用HTTP_HOST ,這樣,無論www是否存在,都可以使用1條規則。 您可以有兩個重寫規則,但只能使用OR 我想您正在尋找的是這個。

# always redirect to www and/or https
RewriteCond %{HTTP_HOST} ^mydomain\.com [NC,OR]
RewriteCond %{HTTPS} !^on$
RewriteRule ^(.*) https://www.mydomain.com/$1 [R=301,L] 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM