PHP的重定向到URL

问题描述:

Possible Duplicate:
Cannot modify header information - headers already sent, Why its happeningPHP的重定向到URL

嗨,

我试图表现出一些页,使用标头(位置)时,自动重定向到另一个网页,我得到这个错误:“警告:不能更改头信息 - 头文件已经发送(输出开始于public_html/headerFile.php)“

我还应该尝试什么?

谢谢。

更长更正确的方法是重组您的逻辑,以便知道它应该在之前重定向用户它会尝试向页面输出任何内容。先做所有的逻辑,然后显示。

快速简单的方法是将ob_start()添加到脚本的开头。这会打开输出缓冲区,所以在完成所有操作之前,没有任何内容会被发送到浏览器,这意味着您仍然可以修改标题。

使用header()时,您必须确保您没有向用户发送任何输出。这包括print_r,echo或PHP生成的任何错误或警告。即使空白也算作输出。

试试这个:

echo '<meta http-equiv="Refresh" content="1;URL=http://www.google.nl">'; 

这应该工作,它的效果并不理想。但它会做到这一点。

+1

我认为理解和解决问题总是比较好,而不是找到规避。在上面的例子中,解决这个问题并不难,它会使代码更好。 – martinstoeckli 2011-04-28 19:04:12

+0

你可以把它放在任何你想要的地方,所以我选择这个 – 2012-10-11 08:38:13