And*_*rey 2 php redirect http-status-code-302
如果我不希望他们能够访问某个页面,我需要重定向用户.header('Location: ../acc/login.php');例如,可靠性如何?浏览器可以忽略302错误,这是正确的方法吗?提前致谢!
这取决于你想要做的很多事情.从技术上说,header()是有点可靠.只是在某种程度上,因为许多PHP用户遇到了问题并且无法使用它.
如果输出已经发送到浏览器,PHP将阻止它工作.一个激烈的例子:
<protected page content here>
<?php
header('Location: login-first.php');
exit();
?>
Run Code Online (Sandbox Code Playgroud)
这根本不起作用.您最终会看到一条带有警告的错误消息.
标题 - 按设计 - 需要在任何其他内容(响应主体)之前发送出去.如果响应主体已经启动,则无法再发送它们,在这种情况下PHP无法帮助您.
但是,如果您在响应正文之前发送标头,则该功能将起作用.此外,明显混乱的风险也不再那么激烈了:
<?php
header('Location: login-first.php');
exit();
?>
<protected page content here>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
831 次 |
| 最近记录: |