0

为了在 AWS Elastic Beanstalk php 应用程序上将 http 重定向到 https,我在 .htaccess 文件上使用了重写规则。

我的问题是我的规则适用于指向文件但不适用于根域的 url,例如:

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]

谢谢您的帮助!

4

1 回答 1

1

则表达式 .至少需要一个字符。如果要匹配任何 URL 路径,包括空的 URL 路径,请使用^^.*$

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

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

RewriteCond %{HTTPS} off
于 2013-04-08T20:26:42.800 回答