htaccess中的重定向组合

时间:2017-10-11 12:27:36

标签: .htaccess ssl

我的域名包含ssl证书,我想重定向所有内容以使用https://www.example.com(使用https和www)

这是我到目前为止所做的:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI}$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}$1

但是,这两种组合不起作用并显示apache2默认页面:

http://example.com 
http://www.example.com

我错过了什么?

1 个答案:

答案 0 :(得分:0)

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
# line above to catch any request with http regradless of having www or not
RewriteCond %{HTTP_HOST} !^www\.
# line above to catch any request with https and without www 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=302,L,NE]

因此,任何包含(httphttps)和(www或无www)的请求都会被重定向到https://www.example.com

注意:清除浏览器缓存并进行测试,如果确定,请将302更改为301以获得永久重定向