【发布时间】:2019-05-22 11:33:27
【问题描述】:
我正在尝试将我的网站重定向为始终以 HTTPS 方式打开。我正在使用 CloudFlare,他们有一个设置为“始终使用 HTTPS”。但是我的网站上有一个页面我不想使用 HTTPS,因为它在 iFrame 下打开其他网站。如果该页面也以 HTTPS 加载,那么在 iFrame 下,任何未使用 HTTPS 提及 URL 的网站都不会打开。因此,对于那个特定页面,我想保持网站在 HTTP 下打开。
我正在做的事情:
在 CloudFlare Crypto 设置中,“始终使用 HTTPS”处于开启状态。
然后在我希望它在 HTTP 下打开的页面中说
surf.php
我正在使用以下 PHP 代码:
if($_SERVER['HTTP_HOST'] != 'localhost'){
if(isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'on'){
if(!headers_sent()){
header("Status: 301 Moved Permanently");
header(sprintf('Location: http://%s%s',$_SERVER['HTTP_HOST'],$_SERVER['REQUEST_URI']));
exit();
}
}
}
现在页面无法打开并显示“页面未正确重定向”。我该怎么办?有没有其他方法可以做到这一点?我想在整个网站中使用 HTTPS,所以 cloudflare 中的“始终使用 HTTPS”设置应该是 ON,除了 surf.php。这里最好的方法应该是什么?
【问题讨论】:
-
我对 cloudflare 一无所知,但也许您应该使用 .htaccess 来更好地控制重定向。 stackoverflow.com/questions/5818146/…
-
但是对于 surf.php 它说
The page isn’t redirecting properly并且页面没有打开。@ArtisticPhoenix