PHP用header()重定向在第一页中打开重定向页面


PHP redirect with header() is opening redirected page within first page

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

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

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

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

我建议做所有你需要的检查,以确保你需要输出内容或重定向,然后做一个。

你也应该停止脚本执行后,改变头的位置。例如:

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