2012-04-17 43 views
0

我用下面的代码显示404,如果请求的页面无法找到:PHP:给404不起作用

if($page_exists) 
{ 
    //... 
} 
else 
{ 
    header('HTTP/1.0 404 Not Found', true, 404); 

    $ui->title = '404 Not Found'; 

    $o .= '<h1>Not found!</h1>' . "\n"; 
    $o .= '<p>The requested page could not be found.</p>' . "\n"; 
} 

echo $ui->top(); 
echo $o; 
echo $ui->bottom(); 

但由于某些原因,我从来没有让我的404状态码 - 它给出了200。我已经检查并重新检查了header()之前没有实际的输出,并且当我检查PHP错误代码时,除了一些通知之外,没有别的东西。我也测试了一个位置标题,这也不起作用。

任何想法?

+1

你用'HTTP/1.1'试过了吗? – alex 2012-04-17 11:52:01

+3

FastCGI?尝试状态:404未找到 – Jared 2012-04-17 11:52:53

+0

您使用的是哪个网络服务器?你在使用哪个SAPI?你有在线的示例URI吗? – hakre 2012-04-17 11:55:00

回答

0

好了,问题就解决了 - 由于某种原因,文件保存BOM。