【发布时间】:2017-05-24 02:51:31
【问题描述】:
我在一个使用 Phalcon PHP 制作的网站中配置了 HTTPS。现在我想将对 HTTP 的任何请求重定向到 HTTPS。服务器是 AWS EC2,带有负载均衡器。
Phalcon PHP 有两个 .htaccess 文件:
/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
/public .htaccess
AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>
我已按照 this post 上的说明将其添加到这些文件中,我得到了 ERR_TOO_MANY_REDIRECTS 。
# force HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
你能帮我弄清楚我在这里做错了什么吗?
感谢您的帮助。
更新: 我猜这是 AWS 的负载均衡器的问题。这是我的配置:一个带有负载均衡器的 EC2 实例(使用 SSL 证书),然后在我的 Route53 中我指向这个负载均衡器。我试过this post的答案,还是不行。
【问题讨论】:
标签: .htaccess amazon-web-services mod-rewrite phalcon elastic-load-balancer