2012-04-17 32 views
0

我希望將所有codeigniter錯誤重定向到自定義錯誤頁面。我已將404錯誤重定向到$route['404_override'] = 'errorcontroller';如何重定向所有其他錯誤,如db和php在codeigniter中重定向錯誤

回答

1

您可以隨時使用try和catch塊,然後重定向到您的自定義錯誤頁面。但根據你的問題,你應該考慮一些事情。

  1. 重定向將發出一個全新的請求,這是通過發送到瀏覽器的頭部完成的。出於這個原因,除非您在會話或其他內容中保存該消息,否則您將無法顯示錯誤消息。

  2. 一些錯誤導致PHP拋出異常,而另一些錯誤則導致異常。某些數據庫交互錯誤只會引發PHP警告或錯誤。 PHP執行可能暫停,但不會拋出異常。在這種情況下,即使將代碼封裝在try catch中也不會有任何幫助。但是,您可以創建自定義錯誤處理程序並通知PHP使用該處理程序。然後在自定義錯誤處理程序中,您可以自由地拋出異常或重定向到錯誤頁面。

  3. 你也可以使用的.htaccess強制重定向到您設置的網頁,在特定的頭碼[404304500]等

希望這有助於!