[英].htaccess add www AND ensure https://
摔跤已经很长时间了,没有成功。 我正在寻找的是.htaccess规则以确保所有请求:
在我尝试过的所有规则中,也许这是最接近的:
RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301]
这套规则非常适用于:
http://www.example.com
> https://www.example.com
http://example.com
> https://www.example.com
不适用于:
http://www.example.com/index.cfm?myquerystring
http://example.com/index.cfm?myquerystring
更新:
在我的情况下,实际的问题是,对于某些文件扩展名(.cfm,.cfml,.cfc),在我的重写规则生效之前,该请求已“移交给”应用程序服务器。 感谢所有回应。
尝试以下规则:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80 [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]
这应该做的工作:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
请注意,.htaccess文件应位于网站主文件夹中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.