【发布时间】:2017-06-29 16:00:22
【问题描述】:
这个问题已经被问过很多次了,但我尝试了很多不同的变体,但都没有成功 - 以下是我尝试过的和得到的示例:
Gives 500 Internal Server Error:
<Location /index.php>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</Location>
Gives TOO MANY REDIRECTS
RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Gives TOO MANY REDIRECTS
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^index\.php$ https://foo.bar [L,R=301]
Gives TOO MANY REDIRECTS
<?php
if($_SERVER["HTTPS"] != "on")
{
header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
exit();
}
?>
我无法使用这些方法中的任何一种使 HTTPS 重定向正常工作。
我试图仅在用户访问时强制 index.php 重定向到 HTTPS
http://foo.bar(包括斜杠)
【问题讨论】:
-
SSL 是如何管理的?您是否在服务器上直接安装了证书,或者您是否使用某种前端代理?您的最后两个结果暗示后者。