我正在尝试编写附加www的.htaccess规则。如果需要,到域和http到http,但我似乎无法找到适用于每种情况的规则或规则集。
案件是......
\ https://www.site.com - 应该正常工作
\ http://www.site.com - 应该转到\ https://www.site.com
\ http://site.com - 应该转到\ https://www.site.com
\ https://site.com - - 应该转到\ https://www.site.com
任何帮助都会非常感激。
答案 0 :(得分:2)
尝试此规则:
RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)
RewriteRule ^ https://www.%2%{REQUEST_URI} [L,R=301]
这应该包括请求不是HTTPS(第一个条件)或主机不以www.
开头的情况(第二个条件)。在这种情况下,第三个条件将在没有起始www.
(如果存在)的情况下获取主机,然后在规则的替换中使用。