我的域名包含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
我错过了什么?
答案 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]
因此,任何包含(http
或https
)和(www
或无www
)的请求都会被重定向到https://www.example.com
注意:清除浏览器缓存并进行测试,如果确定,请将302
更改为301
以获得永久重定向