在ASP.NET中实现404的最佳方式
发布时间:2020-12-15 19:11:51 所属栏目:asp.Net 来源:网络整理
导读:我试图确定在标准ASP.NET Web应用程序中实现404页面的最佳方式。我目前在Global.asax文件中的Application_Error事件中捕获404错误,并重定向到友好的404.aspx页面。问题是,请求看到一个302重定向,其后是404页面缺失。有没有办法绕过重定向,并用立即404包
我试图确定在标准ASP.NET Web应用程序中实现404页面的最佳方式。我目前在Global.asax文件中的Application_Error事件中捕获404错误,并重定向到友好的404.aspx页面。问题是,请求看到一个302重定向,其后是404页面缺失。有没有办法绕过重定向,并用立即404包含友好的错误消息响应?
如果对非现有网页的请求返回302,然后是404,那么Googlebot等网络抓取工具是否会提供保护? 解决方法
在你的Global.asax的OnError事件中处理这个:
protected void Application_Error(object sender,EventArgs e){ // An error has occured on a .Net page. var serverError = Server.GetLastError() as HttpException; if (null != serverError){ int errorCode = serverError.GetHttpCode(); if (404 == errorCode){ Server.ClearError(); Server.Transfer("/Errors/404.aspx"); } } } 在错误页面中,您应该确保正确设置状态代码: // If you're running under IIS 7 in Integrated mode set use this line to override // IIS errors: Response.TrySkipIisCustomErrors = true; // Set status code and message; you could also use the HttpStatusCode enum: // System.Net.HttpStatusCode.NotFound Response.StatusCode = 404; Response.StatusDescription = "Page not found"; 你也可以在这里很好地处理各种其他错误代码。 Google一般会遵循302,然后遵守404状态代码,因此您需要确保在错误页面上返回该状态代码。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.Net会话
- asp.net – 从GridView中的2列动态生成超链接
- asp.net-mvc – 如何创建安装文件来安装MVC .net Web应用程
- .net – 为什么我的剃刀视图抱怨“}预计”升级到剃刀2/mvc
- 扩展Asp.Net需要帮助
- asp.net-mvc-4 – 我似乎没有安装SignalR与MVC4
- asp.net – 当DataList为空时需要显示消息
- ASP.NET Core应用针对静态文件请求的处理[1]: 以Web的形式发
- 什么是文字控制用于和asp.net的标签控制有什么区别?
- asp.net-mvc – ASP.NET MVC SiteMap提供程序 – 如何在实际
推荐文章
站长推荐
- 由于ErrorCode =’0x80004005:80008083,.NET Co
- asp.net-mvc-3 – 日期选择器透明背景开箱即用?
- asp.net – Response.Redirect()不起作用
- asp.net-3.5 – 我可以查看soap wcf调用发出的原
- asp.net-mvc – 从ASP.NET MVC 3中的RequiredAtt
- asp.net – 在单个位置禁用Windows身份验证
- asp.net mvc表单不发布参数值
- asp.net-mvc – .NET MVC4 Facebook,Google和Twi
- asp.net-web-api – 如何在Web Api调用期间获取用
- 如何设置特定于ASP.NET请求的log4net上下文属性?
热点阅读