使用 PHP 从 HTTP 重定向到 HTTPS
我正在一个购物车网站上工作,我想在用户输入账单详细信息时将用户重定向到HTTPS页面,并在他注销之前保持下一页的HTTPS连接。
为了做到这一点,我需要在服务器上安装什么(我使用的是Apache),以及如何从PHP完成这种重定向?
我正在一个购物车网站上工作,我想在用户输入账单详细信息时将用户重定向到HTTPS页面,并在他注销之前保持下一页的HTTPS连接。
为了做到这一点,我需要在服务器上安装什么(我使用的是Apache),以及如何从PHP完成这种重定向?
尝试这样的事情(应该适用于Apache和IIS):
if (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === "off") {
$location = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $location);
exit;
}
这是一个很好的方法:
<?php
if (!(isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' ||
$_SERVER['HTTPS'] == 1) ||
isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&
$_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'))
{
$redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $redirect);
exit();
}
?>