404的ASP.NET自定义错误页面为http状态返回302
发布时间:2020-12-16 00:06:13 所属栏目:asp.Net 来源:网络整理
导读:在我的asp.net网站上,我在web.config文件中定义了以下自定义错误页面. customErrors mode="On" defaultRedirect="~/defaulterror.htm" error statusCode="404" redirect="~/404.htm" / 当找不到文件时,它正确显示404.htm页面,但问题是当我做Fiddler跟踪它返
在我的asp.net网站上,我在web.config文件中定义了以下自定义错误页面.
<customErrors mode="On" defaultRedirect="~/defaulterror.htm" > <error statusCode="404" redirect="~/404.htm" /> 当找不到文件时,它正确显示404.htm页面,但问题是当我做Fiddler跟踪它返回302作为HTTP状态代码.这是搜索引擎页面索引的一个大问题,因为这些断开的链接仍然被索引最近因为这个在我的网站上.如何防止返回302作为文件未找到错误的HTTP状态代码,并返回404文件未找到错误.我正在使用asp.net 3.5. 解决方法
在谷歌搜索此问题后,似乎这是Microsoft ASP.NET为此情况提供的默认行为.这对SEO来说非常糟糕.我找到的解决方法是检查所请求的文件是否存在于HTTP处理程序(或global.asax文件)中,或使用:
<customErrors mode="On" redirectMode="ResponseRewrite"> <error statusCode="404" redirect="/FileNotFound.aspx" /> </customErrors> 如果请求的文件不存在,则将请求路径重写为未找到文件页面(如果使用HTTP处理程序或global.asax),清除404错误页面代码后面的服务器错误,并添加404错误标头手动响应而不是等待服务器这样做. Server.ClearError(); Response.Status = "404 Not Found"; Response.StatusCode = 404; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 为什么ASP.NET MVC5中的重载不可能?
- asp.net-mvc-3 – Razor部分视图不渲染
- asp.net – 我可以使用一种模式来编辑MVC3应用程序中的下拉
- asp.net-mvc-3 – 向Html.ActionLink添加一个类 – ASP.NET
- asp.net-mvc – StringLength / Minlength验证不会阻止用户
- asp.net-mvc – 在MVC项目中放置一个简单的类?
- asp.net-mvc – Kendo UI饼图工具提示是否包含系列类别名称
- 在ASP.NET站点中将.Net 2.0与.Net 4.0混合使用
- asp.net-mvc – 为什么Request.IsAuthenticated是错误的
- asp.net-mvc-3 – 从MVC 3中使用Razor View引擎的局部视图渲
推荐文章
站长推荐
- asp.net – 在PreRender上添加控件页面
- 锯齿状数组< - > ASP.NET中的多维数组转换
- asp.net-core-mvc – MVC核心如何强制/设置所有操
- 在ASP.NET站点中将.Net 2.0与.Net 4.0混合使用
- 部署 – kestrel-hellomvc.service:步骤USER产生
- asp.net – 为什么我们应该通过部分视图使用MVC
- asp.net – 无法从App.Config中检索密钥
- asp.net – 如何在Quartz.Net中处理应用程序关闭
- asp.net – 在IIS中将WebAPI添加为子/嵌套应用程
- 使用ASP.NET重新发明我的身份验证策略
热点阅读