![](/img/trans.png)
[英]How to redirect HTTPS non-www to HTTPS www using .htaccess?
[英]how to redirect www and non www to https for specific domain using htaccess
我需要將www和非www重定向到https。 我已經在stackoverflow上到處尋找,但找不到我正在尋找的東西。
規則是:
我目前有:
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
但是,如果有人進入www.example.com,它仍會轉到http版本而不是https。
我認為我真正需要的是RewriteCond正則表達式以完全匹配,只有“example.com”和“www.example.com”
謝謝
您可以使用以下規則在一次重定向中將非www或www重定向到https:// www
#redirect http non-www to https://www
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
#redirect https non-www to www
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
在測試此規則之前清除瀏覽器的緩存。
這是它對我%{ENV:HTTPS}
的唯一方式 - 使用!on
而不是off
和%{ENV:HTTPS}
而不是%{HTTPS}
:
#non-www. http to www. https
RewriteCond %{ENV:HTTPS} !on
RewriteCond %{HTTP_HOST} ^(www\.)?yourdomain\.com$
RewriteRule (.*) https://www.yourdomain.com/$1 [R=301,L]
#non-www. https to www. https
RewriteCond %{ENV:HTTPS} on
RewriteCond %{HTTP_HOST} ^yourdomain\.com$
RewriteRule (.*) https://www.yourdomain.com/$1 [R=301,L]
#First rewrite any request to the wrong domain to use the correct one (i.e. www.)
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#Now, rewrite to HTTPS:
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.