IIS部署MVC專案,訪問提示“抱歉,處理您的請求時出錯。”
阿新 • • 發佈:2019-01-30
背景
除錯MVC專案時,在VS中本地執行沒有任何問題,但是當在IIS部署後,訪問出錯:錯誤提示只有一句話“抱歉,處理您的請求時出錯。”也沒有具體的錯誤資訊,也沒有黃頁錯誤。後來發現這個錯誤頁面原來是新建MVC專案中預設的錯誤頁面。
解決
既然我們知道了這是預設的錯誤頁面,我們想要獲得詳細的錯誤資訊就需要在Web.config配置檔案中將錯誤資訊開啟。
在<system.web></system.web>中間新增<customErrors mode=”Off”> 。
<customErrors> 節點
Web.config中的<customErrors> 節點用來自定義一些錯誤資訊。這個節點有mode
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>