关于 javascript:PHP 在发送标头后重定向?

PHP redirect AFTER sending headers?

我有一个函数,如果设置了变量等,它需要重定向页面...

问题是,这个函数在php页面的底部。

这意味着,我输出了很多信息,所以我收到了标题警告。

"警告 - 标题已经由 ..."

有没有办法在发送标头后重定向?

谢谢


您应该做的是将 ob_start() 放在页面的开头,将 ob_flush() 放在最后。这样你就不会遇到标题已经发送的错误。

查看这些函数以获取进一步参考。


有很多方法,但基本上都是变通方法:

最简单的是meta http-equiv:

1
<meta http-equiv="Refresh" content="0;http://www.example.com/newlocation">
  • 当它在 <head> 元素之外时,一些浏览器不会喜欢这个,并进入怪癖模式

或者,您可以尝试使用 JavaScript 重定向:

1
    window.location = 'http://www.example.com/newlocation';

  • 如果没有 JavaScript,这显然是行不通的。