带有header()的PHP重定向在第一页中打开重定向页面

时间:2011-09-14 09:04:50

标签: php html browser redirect header

我正在编写一个包含输出的PHP页面,然后编写一个if then语句,结果为:

ob_start();
header('Location: http://www.mydomain.com/');
ob_end_flush();

没有错误,但重定向到的页面在主页面中打开。您可以看到主页面的上半部分,然后是它重定向到的页面的整个内容,然后是主页面的下半部分。这一切都出现在同一个屏幕上。这确实对我的网站造成了严重破坏。我怎样才能让它只是转到新页面?

1 个答案:

答案 0 :(得分:1)

输出缓冲区并在其中进行重定向确实没有任何意义。

我建议您进行所需的所有检查,以确保您需要输出内容或重定向,然后再制作其中一项。

您还应该在更改标题位置后停止脚本执行。类似的东西:

if($needToRedirect){
      header('Location: http://www.mydomain.com/');
      exit();
}else{
      ob_end_flush();
}