在ASP.NET中实现404的最佳方式
发布时间:2020-05-23 06:36:26 所属栏目: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 mvc进行基于REST的端点
- 安装程序 – 在MVC4 RC中缺少单页应用程序模板
- asp.net-mvc-3 – 将值传递给控制器时,ASP.NET MVC datetim
- asp.net-mvc – HttpResponse.RemoveOutputCacheItem不工作
- asp.net-mvc – MVC / Razor – 当有下列括号时,Intellisen
- asp.net-mvc – MVC 5继承的脚手架使用错误的实体集
- asp.net-mvc – Razor并在ActionLinks上指定css类名
- asp.net-mvc – 从MVC中的控制器确定部分视图的模型
- jqgrid与asp.net webmethod和json使用排序,分页,搜索和LINQ
推荐文章
站长推荐
- asp.net-mvc – 处理MVC中的无效URL
- asp.net-mvc – ASP.NET MVC – 在哪里抛出异常?
- asp.net – 有一个ClientScriptManager.Register
- asp.net-mvc-4 – 使用活动目录角色提供者MVC4进
- asp.net – 缓存viewstate?
- asp.net-mvc – 如何在ASP.NET MVC中阻止JSON序列
- asp.net-mvc – 什么是ASP.Net MVC查看引擎?
- asp.net-mvc – 使用ASP.NET Identity 2.0 UserM
- 混合WebForms/ASP.NET MVC
- asp.net – 有人有一种方法来保持页面呈现一旦一
热点阅读
