如何将我的网站的所有 HTTP 请求重定向到 HTTPS,并将非 www HTTPS 重定向到带有 www 的 HTTPS?
例子:
重定向 HTTP 非 www、HTTP www。和 HTTPS 非 www:
HTTP://example.com/
&& HTTP://www.example.com/
&&HTTPS://example.com/
所有内容都转为 HTTPS 并加上 www:
HTTPS://www.example.com/
答案1
# Redirect all "not correct" domain to www with https
# (is not important if comes with or without https):
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]
# Redirect all non-ssl to ssl.
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
我认为这将符合你的实际规则。
答案2
这将适用于 www 和非 www 如果您尝试打开带有 www 的链接,则 url 重定向到带有 www 的 https
Example : http://domain.com redirect to https://domain.com
或者如果你尝试打开不带 www 的链接,那么 url 会重定向到不带 www 的 https
Example : http://www.domain.com redirect to https://www.domain.com
RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]