这真的很奇怪..我在文件中有以下重定向:
header('Location: http://google.com');
它不起作用。页面加载,用户未重定向。但是,如果我在该行下面添加一个die()语句,如下所示:
header('Location: http://google.com');
die('what the heck is going on here?');
然后重定向神奇地开始工作!
我完全不知道为什么会这样,我不知道如何调试它。
有人可以就此提出任何建议吗?
答案 0 :(得分:7)
您应该在发送位置标头后退出。发送任何标头不会影响脚本的流程,因此任何代码仍会执行。如果有任何原因导致设置不同的响应状态代码,则根本不会发生重定向。
Location
标题本身不做任何事情 - 只与正确的30x响应代码一起导致重定向。 PHP在发送Location
标头时手动设置此响应代码,但您的代码可能会对其进行修改。
答案 1 :(得分:2)
标题调用后,您的脚本可能没有结束。确保您结束脚本。