htaccess 将 HTTP 和 HTTPS 非 www 重定向到 HTTPS www

htaccess 将 HTTP 和 HTTPS 非 www 重定向到 HTTPS www

如何将我的网站的所有 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]

相关内容