前言:
在实际的web开发中,经常会遇到以下情况,导致给用不好的体验:
a、程序未处理的异常,直接输出显示到用户页面
b、用户访问的资源不存在,直接显示系统默认的404页面
c、其它以下请求错误状态的系统默认页面(403等)
为了给用户友好的体验,在实际项目开发中,
需要对系统会不同的异常定制相应的友好提示页面
.net中自定义异常页面的重定向都是通过web.config配置页面配置实现,其具体的实现方式有两种方式,下面话不多说了,来一起看看详细的介绍吧。
其一、通过节点system.web新增customErrors配置节点实现
IIS环境需求:IIS7、IIS7+、IIS7以前版本
作用对象:作用于Asp.Net级别的错误处理程序
也就是说,对于(.html/.js)等静态资源不起作用
实现方式:
1
2
3
4
5
6
7
|
<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程序异常和静态资源异常都处理
实现方式:
1
2
3
4
5
6
7
8
|
<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+,那么完全采用第二种方式即可
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:http://www.cnblogs.com/xiaoXuZhi/p/customErrors_httpErrors.html