我在StackOverflow和其他網站上看到過很多類似的問題,但似乎沒有解決我遇到的問題。IIS7 - ASP.NET customErrors,IIS httpErrors的組合
我想配置一個站點以返回一個500錯誤狀態代碼和一個自定義錯誤頁面(靜態HTML文件),這些錯誤通常會返回一個500,其中customErrors設置爲「Off」,而404我們的系統報告沒有找到頁面的狀態代碼(404頁面不是通過IIS設置的靜態頁面,它是由我們的CMS系統生成的)。
我在那裏的一部分,但我打了一磚牆。
目前,我能夠返回正確的404狀態碼,我們的系統返回一個帶有404狀態碼的頁面,但是我現在無法返回ASP.NET服務器錯誤的500狀態碼。我通過設置Response.TrySkipIisCustomErrors = true來管理這個。然而,我的500個錯誤證明更加複雜。如果我從web.config中刪除了customErrors配置部分,我得到了500錯誤,但它是醜陋的ASP.NET YSOD。無論我使用httpErrors config部分使用什麼設置,也無論我通過IIS GUI設置什麼設置,我似乎無法將其指向使用IIS的自定義頁面。如果我添加了customErrors部分,我得到了自定義錯誤頁面,但我得到了200或302錯誤(取決於redirectMode屬性的值)。
任何人有任何想法?
在httpErrors配置部分我已經試過以下至今方面:
設置errorMode爲「自定義」,並指定我用的「500」一個錯誤的StatusCode靜態內容的「一subStatusCode -1 「(先刪除現有的500錯誤) 將errorMode設置爲」詳細「並指定我的靜態內容中的狀態碼爲」500「和子狀態代碼爲」-1「的錯誤(先刪除現有500錯誤) 設置existingResponse =」PassThrough 「用於上述兩種配置選項。
我在IIS7.0和IIS7.5中都有相同的行爲。當我回到辦公室時,我會在幾個小時內發佈當前web.config中的相關內容。 –
恕我直言,爲了完成問題和真實樣本的答案。 – Kiquenet