【发布时间】:2015-06-27 11:14:07
【问题描述】:
我希望我网站上的所有页面都强制使用 SSL 连接。目前我有这个......
#RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^(www)\.domain\.com$ [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
以上规则受互联网启发,我并不完全理解。我尝试将最后一行更改为 RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L](注意 https 部分)。
当我使用http://www.domain.com/path-to-here 测试重定向时,我被重定向到https://www.domain.com/。
简而言之,最终目标是强制www和https,同时保留所有原始路径。
例如:
- http://domain.com -> https://www.domain.com
- http://domain.com/this-is-my-path-1/ -> https://www.domain.com/this-is-my-path-1/
- https://domain.com -> https://www.domain.com
- https://domain.com/this-is-my-path-1/ -> https://www.domain.com/this-is-my-path-1/
- http://www.domain.com -> https://www.domain.com
- http://www.domain.com/this-is-my-path-1/ -> https://www.domain.com/this-is-my-path-1/
【问题讨论】: