Introduction
自訂 .Net WebSite 的錯誤頁面導向。
Conetent
以下分別說明 HttpErrors 與 CustomErros ,這兩個差別在於
HttpErrors
存取靜態檔案(如.js、.html、.css、.jpg…)發生錯誤,會依照此設定執行
CustomErros
由 .Net 程式發生的錯誤(例如:.aspx、.ashx、MVC 路由),才會在 CustomError 的設定執行
HttpErrors
errorMode 非必要屬性,預設為 DetailedLocalOnly
- DetailedLocalOnly
本機端顯示詳細錯誤訊息,非本機端顯示自訂錯誤頁面
不想輸入 DetailedLocalOnly 文字的話,可以輸入代碼,其代碼為 0 - Custom
不管本機端或是遠端客戶,皆顯示自訂錯誤頁面。
其代碼為 1 - Detailed
全部都顯示詳細錯誤訊息
其代碼為 2
以下是我的設定
1 | <system.webServer> |
顯示畫面
CustomErrors
可以參考 MSDN 上的說明。
mode 必要屬性,有三種設定,預設為 RemoteOnly
- Off
等於不使用,錯誤訊息都會直接顯示。
- On
包含本機與 Client 端,都會收到自訂的顯示頁面
- RemoteOnly
非本機端才會收到自訂的顯示頁面
redirectMode 決定當自訂錯誤頁面顯示時要如何處理原始要求的 URL
- ResponseRedirect
指定導向瀏覽器的 URL 必須不同於原始的 Web 要求 URL。
簡單說就是設定重新導向的位置。 - ResponseRewrite
指定導向瀏覽器的 URL 必須是原始的 Web 要求 URL。
這動作是把發生錯的輸出,按照設定的自訂內容複寫。
我的範例寫法
1 | <system.web> |
示範畫面,故意輸入以下位置,讓路徑錯誤,接著按照我的設定,畫面將會跳轉到設定好的畫面與路徑。
1 | localhost:1900/abcd |