标题重定向非常时髦..发生了什么?

时间:2012-05-26 17:53:59

标签: php redirect

这真的很奇怪..我在文件中有以下重定向:

header('Location: http://google.com');

它不起作用。页面加载,用户未重定向。但是,如果我在该行下面添加一个die()语句,如下所示:

header('Location: http://google.com');
die('what the heck is going on here?');

然后重定向神奇地开始工作!

我完全不知道为什么会这样,我不知道如何调试它。

有人可以就此提出任何建议吗?

2 个答案:

答案 0 :(得分:7)

您应该在发送位置标头后退出。发送任何标头不会影响脚本的流程,因此任何代码仍会执行。如果有任何原因导致设置不同的响应状态代码,则根本不会发生重定向。

Location标题本身不做任何事情 - 只与正确的30x响应代码一起导致重定向。 PHP在发送Location标头时手动设置此响应代码,但您的代码可能会对其进行修改。

答案 1 :(得分:2)

标题调用后,您的脚本可能没有结束。确保您结束脚本。