前言:
在实际的web开发中,经常会遇到以下情况,导致给用不好的体验:
??? a、程序未处理的异常,直接输出显示到用户页面
??? b、用户访问的资源不存在,直接显示系统默认的404页面
??? c、其它以下请求错误状态的系统默认页面(403等)
??? 为了给用户友好的体验,在实际项目开发中,
?需要对系统会不同的异常定制相应的友好提示页面
.net中自定义异常页面的重定向都是通过web.config配置页面配置实现,
其具体的实现方式有两种方式:
?其一、通过节点system.web新增customErrors配置节点实现
????? IIS环境需求:IIS7、IIS7+、IIS7以前版本
作用对象:作用于Asp.Net级别的错误处理程序
??????????????? 也就是说,对于(.html/.js)等静态资源不起作用
????? 实现方式:
<system.web> ??<customErrors mode="On" defaultRedirect="ApplicationErroy.aspx"> ?????<error statusCode="403" redirect="/ErrorPage/403.html"/> ?????<error statusCode="404" redirect="/ErrorPage/404.html"/> ?????<error statusCode="500" redirect="/ErrorPage/500.html"/> ???</customErrors> ?</system.web>
??????其二、通过节点system.webServer新增httpErrors配置节点实现
????? IIS环境需求:IIS7、IIS7+
作用对象:作用于IIS级别的错误信息处理程序
??????????????? 也就是说,asp.net程序异常和静态资源异常都处理
???????????????
???????? 实现方式:
????????
?<system.webServer> ???<httpErrors errorMode="Custom" existingResponse="Replace"> ?????<clear /> ?????<error statusCode="404" responseMode="ExecuteURL" path="/ErrorPage/404.html" /> ?????<error statusCode="403" responseMode="ExecuteURL" path="/ErrorPage/403.html" /> ?????<error statusCode="500" responseMode="Redirect" path="/ErrorPage/500.html" /> ???</httpErrors> ?</system.webServer>
??应用总结:
????? 通过上面的描述,在实际开发中,只要环境时IIS7+,那么完全采用第二种方式即可
?
?
?
.net自定义错误页面实现
原文地址:https://www.cnblogs.com/xiaoXuZhi/p/customErrors_httpErrors.html