【发布时间】:2011-02-18 08:47:07
【问题描述】:
我的网站目前根据网站上收集的数据使用 http 和 https 部分(表单数据使用 https)。
在我的索引页面上,PHP 代码位于顶部:
<?php
session_start();
ob_start();
if( $_SERVER['SERVER_PORT'] == 443) {
header('Location:http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']));
die();
}
?>
但是,页面无法加载,并且出现 404 错误。同样,当我使用头代码访问具有 https 安全性的部分时:
<?php
session_start();
ob_start();
if( $_SERVER['SERVER_PORT'] == 80) {
header('Location:https://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/'.basename($_SERVER['PHP_SELF']));
die();
}
?>
当从 http 切换到 https 时,该站点没有响应并且由于某种原因会创建一个双斜杠。
例如:http://www.abc.com/,然后点击应该路由到enroll.php的按钮显示http://www.abc.com//enroll.php
为什么需要双斜杠,有人可以帮忙解决 404 错误吗?
【问题讨论】: