如何强制https和www。在.htaccess?

时间:2014-08-12 08:04:55

标签: .htaccess mod-rewrite https

comI尝试使用.htaccess中的代码来强制https和www。因为我总是想要一个像https://www.domain.com

这样的网址
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^ https://www.domain.com%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^.*domain\.com$ [NC]
RewriteRule ^ https://www.domain.com%{REQUEST_URI} [R=301,L]

如果我在浏览器中输入这些情况,它可以正常工作:

www.domain.com
domain.com
http://www.domain.com
http://domain.com

但如果我键入以下行 - 不会发生转发:

https://domain.com

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

所有重定向都需要这两条规则:

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^ https://www.domain.com%{REQUEST_URI} [R=301,L,NE]

RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^ https://www.domain.com%{REQUEST_URI} [R=301,L,NE]