2010-06-26 89 views
0

如果ID(即用戶)不存在,我將header("Status: 404 Not Found");發送給瀏覽器,但PHP也發送頁面的其餘部分。然後,我做了它什麼都不發送,但它顯示了一個空白的白頁。我希望它顯示默認的錯誤頁面。我如何讓它做到這一點?我如何讓PHP顯示服務器的默認錯誤頁面?

+4

您應該使用'頭( 'HTTP/1.1 404未找到')' - HTTP:// EN .wikipedia.org/wiki/List_of_HTTP_status_codes – TheDeadMedic 2010-06-26 10:39:01

回答

1
header("Status: 404 Not Found"); 
readfile ($_SERVER['DOCUMENT_ROOT']."/404.html"); 
exit; 

? 或者您需要通用解決方案?

+0

你是什麼意思通用?我也想學習它。 – ilhan 2010-06-26 10:47:12

+0

@ilhan我的意思是不知道錯誤頁面文件的實際名稱。雖然我不知道解決方案:) – 2010-06-26 10:50:20

2

在標題調用之後加上die;

1

我認爲在這種情況下,如果您只設置標題,您將得到瀏覽器的默認錯誤頁面,而不是您的Web服務器。問題是頁面對於網絡服務器存在。所以如果你知道你的服務器的錯誤頁面存儲在哪裏,請從那裏閱讀。並確保你的迴應比(我認爲它是)512字節長,否則瀏覽器(特別是IE)會給你它是自己的錯誤頁面。

2

您可以通過htaccess的還設置,

ErrorDocument 500 http://foo.example.com/500.php 
ErrorDocument 404 /404.php 
ErrorDocument 401 /401.php 
ErrorDocument 403 /403.php 

根據HTTP狀態響應

相關問題