我需要将www和非www重定向到https。我到处都是关于stackoverflow的内容,但是找不到我想要的东西。
规则是:
必须重定向到https://www.example.com
匹配abc.com或123.com或example.net或其他
也匹配sub.example.com或thisisademo.example.com
我目前有:
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
但是,如果有人输入www.example.com,它仍会使用http版本而不是https。
我真正需要的是RewriteCond正则表达式以完全匹配,并且仅匹配“example.com”和“www.example.com”
谢谢
最佳答案
您可以使用以下规则在一次重定向中将非www或www重定向到https://www
#redirect http non-www to https://www
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
#redirect https non-www to www
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
在测试此规则之前,请清除浏览器的缓存。
关于.htaccess - 如何使用htaccess将www和非www重定向到特定域的https,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37109618/