2

我正在尝试在一个小型网站上推出 HTTPS,但更改很少,我正在我想要保护的页面顶部添加代码......

<?php
$securepage ="1";

if ($_SERVER['HTTPS']=='on') {
    // we are on a secure page.
    if (!$securepage) {
      // but we shouldn't be!
      $url='http://www.mywebsite.com'.$_SERVER['REQUEST_URI'];
      header('location: '.$url);
      exit;
    }
  } else {
    // we aren't on a secure page.
    if ($securepage) {
      // but we should be!
      $url='https://www.mywebsite.com'.$_SERVER['REQUEST_URI'];
      header('location: '.$url);
      exit;
    }
  }
?>

我不想保护的页面我删除了以下内容......

$securepage ="1";

但是当我尝试加载页面时,我收到一条错误消息,指出页面被重定向了太多次。

有人对上面的代码有什么问题有任何指示吗?

4

1 回答 1

1

我正在开发具有相同要求的应用程序。有些页面需要通过 SSL (https) 查看,有些则不需要。

对于需要通过 SSL 查看的页面,我使用

if ($_SERVER["SERVER_PORT"]==80){ header("Location: https://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); exit(); }

对于那些没有的,即可以通过http查看的,使用

if ($_SERVER["SERVER_PORT"]!=80){ header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); exit(); }

如果您的页面位于主机上的目录中,那么这也可能会有所帮助

"location:http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])";

希望这可以帮助...

于 2012-12-24T00:45:33.887 回答