为了在AWS Elastic Beanstalk php应用程序上将http重定向到https,我在.htaccess文件上使用重写规则。
我的问题是我的规则适用于指向文件但不适用于根域的网址,例如:
http://www.testdomain.com/index.php => redirects OK to => https://www.testdomain.com/index.php
但
http://www.testdomain.com does not redirect to https://www.testdomain.com
我的规则:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !^/status$
RewriteCond %{REQUEST_URI} !^/version$
RewriteCond %{REQUEST_URI} !^/_hostmanager/
RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
感谢您的帮助!
答案 0 :(得分:1)
regular expression .
至少需要一个字符。如果您想匹配任何内容,包括空的网址路径,请使用^
或^.*$
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
您还可以使用%{HTTPS}
来测试SSL连接
RewriteCond %{HTTPS} off