我尝试重定向(如果您直接在地址栏中输入)到https://example.com
从而
http://www.example.com -> https://example.com
https://www.example.com -> https://example.com
example.com -> https://example.com
www.example.com -> https://example.com
我已经尝试过了(以及其他许多其他方式):
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
RewriteCond %{SERVER_PORT} ^443$
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
所以
http://www.example.com
https://www.example.com
www.example.com
将全部重定向到https://example.com
但example.com
不会自动重定向到https://example.com
我怎样才能做到这一点?
答案 0 :(得分:0)
您可以使用OR条件来匹配请求www或http,并将其重定向到https://non-www
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
答案 1 :(得分:0)
我认为@starkeen s'方式会起作用......但不是在你使用Cloudflare时!适用于使用Cloudflare的人的解决方案:
强制HTTPS默认情况下,CloudFlare HTTPS不会强制所有流量 到HTTPS。要强制HTTPS,请执行以下操作:
转到您的网站点击齿轮图标,然后选择"页面规则" 在URL模式输入中输入您的网站切换"始终使用 HTTPS"切换单击"添加规则"在底部做这一切 您网站的流量将使用HTTPS。当有人访问你的 使用HTTP的网站,CloudFlare会将这些请求重定向到HTTPS。
它对我有用。