我创建了一个新的ASP.net 5 MVC6项目并添加了以下内容:
app.UseStatusCodePages();
在我的configure方法中。如果我运行该应用程序,请打开我的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中设置默认文档,但我无法获得自定义错误页面:(
答案 0 :(得分:2)
https://support.microsoft.com/en-us/kb/943891
404.20来自IIS。有一个设置" maxurlSegments"控制允许的段数,您可以在
中找到https://www.iis.net/configreference/system.applicationhost/sites/site/limits
修改IIS设置,错误应该消失。
答案 1 :(得分:0)
maxurlSegments设置需要在IIS中更改,好消息是可以针对单个站点或服务器级别更改设置