1. 程式人生 > >IIS部署MVC專案,訪問提示“抱歉,處理您的請求時出錯。”

IIS部署MVC專案,訪問提示“抱歉,處理您的請求時出錯。”

背景

除錯MVC專案時,在VS中本地執行沒有任何問題,但是當在IIS部署後,訪問出錯:錯誤提示只有一句話“抱歉,處理您的請求時出錯。”也沒有具體的錯誤資訊,也沒有黃頁錯誤。後來發現這個錯誤頁面原來是新建MVC專案中預設的錯誤頁面。

這裡寫圖片描述

解決

既然我們知道了這是預設的錯誤頁面,我們想要獲得詳細的錯誤資訊就需要在Web.config配置檔案中將錯誤資訊開啟。

<system.web></system.web>中間新增<customErrors mode=”Off”>

<customErrors> 節點

Web.config中的<customErrors> 節點用來自定義一些錯誤資訊。這個節點有mode

(必選屬性)和defaultRedirect(可選屬性)兩個屬性。

mode

mode屬性分別有三個可能值,分別為On、Off、RemoteOnly

On :表示在本地和遠端使用者都會看到自定義錯誤資訊。
Off :禁用自定義錯誤資訊,本地和遠端使用者都會看到詳細的錯誤資訊。
RemoteOnly :表示本地使用者將看到詳細錯誤資訊,而遠端使用者將會看到自定義錯誤資訊。

defaultRedirect

defaultRedirect屬性表示應用程式發生錯誤時重定向到的預設URL,如果沒有指定該屬性則顯示一般性錯誤。

<error> 節點

<customErrors> 節點下除了兩個屬性外,還包含有<error> 節點,這個節點主要是用於根據伺服器的HTTP錯誤狀態程式碼而重定向到我們自定義的錯誤頁面,注意要使<error>子節點下的配置生效,必須將<customErrors> 節點的Mode屬性設定為“On”。

例如:我們常見的404錯誤,如果使用者訪問的頁面不存在就跳轉到404.html頁面

<customErrors mode="On" > 
     <error statusCode="404" redirect="404.html" />;
</customErrors>