PHP重定向发送标题后?

时间:2010-10-17 16:59:51

标签: php javascript html

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

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

这意味着,我输出了大量信息,因此我收到了标题警告。

“警告 - 标题已由......发送”

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

由于

2 个答案:

答案 0 :(得分:23)

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

有关详细信息,请参阅those functions

答案 1 :(得分:13)

有一些方法,但它们基本上是解决方法:

最简单的是meta http-equiv

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

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

<script>
    window.location = 'http://www.example.com/newlocation';
</script>
  • 如果没有JavaScript,这显然是行不通的。