• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

彻底解决ASP.NETMVC3404错误码返回302的问题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

转自:http://blog.csdn.net/mycloudke/article/details/9746333

404状态码:,意味着当在页面上显示用户点击不存在,提高用户体验度,搜索引擎会放弃这个页面索引。

302状态码:搜索引擎将继续指数,这将导致大量不同的链接指向同一个页面,它将影响搜索引擎对站点的信任度。

http://www.cloudke.com.cn/ 后面随便带些参数或者不存在的文件名,然后跳转到自定义错误页,但返回的状态是302。

解决办法:

第一步:

将web.config的customErrors设为off

 

[csharp] view plaincopy
 
  1. <customErrors mode="Off">  
  2. </customErrors>  


然后自己处理定制错误信息,在Global.asax.cs中添加如下的代码:

 

 

[csharp] view plaincopy
 
  1. protected void Application_Error(Object sender, EventArgs e)  
  2.         {  
  3.             if (!Request.IsLocal)  //如果是在本地测试,则去掉!
  4.             {  
  5.                 Exception lastError = Server.GetLastError();  
  6.                 if (lastError != null)  
  7.                 {  
  8.                     Response.StatusCode = 404;  
  9.                     Response.WriteFile("~/Content/HtmlTemplate/NotFound.htm");  //输出NotFound.htm页面的内容。可以去掉所有的html标签,直接输入“报错
  10.                     Server.ClearError();  
  11.                 }  
  12.             }  
  13.         }  


~/Content/HtmlTemplate/NotFound.htm文件只能为静态文件,这样就不走asp.net的mvc路由器了。

 

这样配制好后,发现还是有问题,本地访问404可以转到自定义页,但远程访问就不行了,还需要配制一下iis

打开错误页,编辑404页

这个文件路径就是自定义错误页404。

好了,再测试一下: 

测试结果正常了。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ASP.NET防止DLL被反编译发布时间:2022-07-10
下一篇:
总体介绍ASP.NET Web API下Controller的激活与释放流程发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap