0

可能重复:
PHP 已发送的标头

我的网站是http://www.seoitc.com,我们在这个网站上使用 joomla,但是当我尝试自动重定向到显示错误的任何页面时遇到 1 个问题:警告:无法修改标头信息 - 标头已由 () 发送。我尝试更改重定向以使用 js,但不能使用与 php 中相同的状态(302,303 ...)。请帮助解决这个问题。谢谢!

4

2 回答 2

1

在您调用标头函数之前,正在发送任何输出。在您的标头调用之前检查任何 html 代码,即使是空格或空行也会导致

根据PHP 手册

请记住,必须在发送任何实际输出之前调用 header(),无论是通过普通 HTML 标记、文件中的空白行还是从 PHP 发送。使用 include 或 require 函数或其他文件访问函数读取代码并在调用 header() 之前输出空格或空行是一个非常常见的错误。使用单个 PHP/HTML 文件时也存在同样的问题。

于 2013-01-04T18:14:12.610 回答
0

您可以在页面顶部使用ob_start() 。以防止错误。
但您也可以使用此代码。如果您的页面发生任何错误,它会将您重定向到$page

// page address
function redirect($page) 
{
    header("Location: ".$page);
}
set_error_handler("redirect");

您可以查看:PHP 已发送的标头

于 2013-01-04T18:21:37.623 回答