重定向在404页面中被阻止

时间:2014-01-02 18:07:25

标签: php nginx http-status-code-404 http-status-codes

遵循我的nginx规则:

error_page 404 /page.php;

遵循page.php的代码:

<?php
echo 1;
header('location: ../page2.php');
?>

404的情况下的输出是1,页面没有重定向到page2.php,我曾尝试删除echo 1;但输出相同。怎么解决?

1 个答案:

答案 0 :(得分:3)

如果您打开PHP错误或查看错误日志,可能会收到错误:

  

警告:无法修改标头信息 - 已发送的标头   (输出从文件:行开始)

在向浏览器输出任何内容之前,必须先调用发送/修改HTTP标头的函数。

您在标题函数之前的回显停止标题函数工作,即您的页面没有重定向。

您最好使用echo向用户显示所需的404消息,然后使用其他方法将用户移至其他页面(Javascript)