强制在Elastic Beanstalk上将http重定向到https

时间:2013-04-08 16:46:25

标签: apache .htaccess mod-rewrite https elastic-beanstalk

为了在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]

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

regular expression .至少需要一个字符。如果您想匹配任何内容,包括空的网址路径,请使用^^.*$

RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

您还可以使用%{HTTPS}来测试SSL连接

RewriteCond %{HTTPS} off