2009-09-30 16 views
2

我完全知道如何在PHP中創建一個自定義的404頁面,但是我想知道是否有辦法讓控制權返回給Apache,並讓它產生正確的404頁面,發送正確的標題等,當我的邏輯說所以?讓PHP在PHP認爲適當時處理404錯誤?

我正在看some apache specific functions,但似乎無法找到任何適當的東西。這真的不可能嗎?我記得一些類似的可用於例如mod_perl通過完全訪問apache內部,在PHP中相當於哪裏?

回答

1

到目前爲止,我的研究讓我得出結論,像其他一些技術一樣,無法從mod_php中委託給Apache。 mod_perl,允許。

0

我不確定你可以做你想做的事情,但你的一個要求可以通過PHP來滿足,除此之外...我真的沒有看到任何其他的。

您可以使用header()函數發送正確類型的標題。在我的代碼中,我通常使用下面的代碼。

 
header("HTTP/1.0 404 Not Found"); 
echo "sorry, page not found..."; 

詳情請參閱function.header.php PHP手冊。

+0

正如我所說,我知道**這**解決方案,謝謝。 – mark 2009-10-01 07:16:16

+0

我明白了,對不起。或許可以澄清一下爲什麼你想讓Apache做到這一點,而不是使用PHP已經可以做的事情的例子可能有幫助? PHP可以生成一個正確的404頁面,所以你的請求會以這種方式混淆。希望我可以提供更多幫助,但是我知道無法將邏輯返回給apache,而無需執行諸如請求未由php處理的url的頭文件。 – catfarm 2009-10-01 19:56:22

+0

我想利用Apaches機制,爲404頁面生成額外的頭文件,我不得不手動添加,這是我不喜歡的。似乎PHP根本不支持這種事情。 – mark 2009-10-12 10:52:37