1

抓住我創建了一個新的ASP.net 5 MVC6項目,並添加以下內容:404.20異常不被ASP.net核心

app.UseStatusCodePages(); 

我的配置方法內。如果我運行該應用程序,打開我的Web瀏覽器並導航到以下URL:

http://localhost:34741/invalidroute 

我得到了一個:狀態碼:404;未找到錯誤。這是預期的,但是如果我做的路線,例如更復雜:

http://localhost:34741/this/is/a/complicated/route/this/is/a/complicated/route/this/is/a/complicated/route/this/is/a/complicated/route/this/is/a/complicated/route/this/is/a/complicated/route/this/is/a/complicated/route/ 

我提出了一個HTTP錯誤404.20 - 找不到IIS詳細的錯誤頁面。爲什麼這不再由asp處理?

我試圖用我的web.config文件httpErrors玩弄,我也嘗試設置IIS中的默認文檔,但我不能讓一個自定義錯誤頁的工作:(

回答

2

https://support.microsoft.com/en-us/kb/943891

404.20來自IIS。有一個設置「maxurlSegments」控制多少段都是允許的,你可以在

https://www.iis.net/configreference/system.applicationhost/sites/site/limits

修改發現IIS設置和錯誤建議立即進行刪除d走開。

+0

假設我不想更改此配置並保持原樣。無論如何,我可以配置我的asp.net mvc6應用程序顯示IIS的自定義錯誤頁面?例如我的web.config文件中的httpErrors? –

+0

@CoolBreeze https://www.iis.net/configreference/system.webserver/httperrors如果你使用IIS的自定義錯誤頁面,你應該能夠實現這一點。 –