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">';
这应该工作,它的效果并不理想。但它会做到这一点。
我认为理解和解决问题总是比较好,而不是找到规避。在上面的例子中,解决这个问题并不难,它会使代码更好。 – martinstoeckli 2011-04-28 19:04:12
你可以把它放在任何你想要的地方,所以我选择这个 – 2012-10-11 08:38:13