彻底解决ASP.NET MVC 3 404错误码返回302的问题
2024-09-24 07:21:43
转自:http://blog.csdn.net/mycloudke/article/details/9746333
404状态码:,意味着当在页面上显示用户点击不存在,提高用户体验度,搜索引擎会放弃这个页面索引。
302状态码:搜索引擎将继续指数,这将导致大量不同的链接指向同一个页面,它将影响搜索引擎对站点的信任度。
http://www.cloudke.com.cn/ 后面随便带些参数或者不存在的文件名,然后跳转到自定义错误页,但返回的状态是302。
解决办法:
第一步:
将web.config的customErrors设为off
- <customErrors mode="Off">
- </customErrors>
然后自己处理定制错误信息,在Global.asax.cs中添加如下的代码:
- protected void Application_Error(Object sender, EventArgs e)
- {
- if (!Request.IsLocal) //如果是在本地测试,则去掉!
- {
- Exception lastError = Server.GetLastError();
- if (lastError != null)
- {
- Response.StatusCode = 404;
- Response.WriteFile("~/Content/HtmlTemplate/NotFound.htm"); //输出NotFound.htm页面的内容。可以去掉所有的html标签,直接输入“报错”
- Server.ClearError();
- }
- }
- }
~/Content/HtmlTemplate/NotFound.htm文件只能为静态文件,这样就不走asp.net的mvc路由器了。
这样配制好后,发现还是有问题,本地访问404可以转到自定义页,但远程访问就不行了,还需要配制一下iis
打开错误页,编辑404页
这个文件路径就是自定义错误页404。
好了,再测试一下:
测试结果正常了。
最新文章
- Python的多线程(threading)与多进程(multiprocessing )
- python pickle
- Angular实现数据绑定,它实现原理是什么?
- 修改 jquery easyui 表单验证默认的样式
- 微软Sharepoint的一些缺点
- Java程序的成长之路
- Ubuntu切换默认语言
- SpringBoot Test集成测试
- 2017ecjtu-summer training #4 CodeForces 731C
- [Python Study Notes] Basic I\O + File 操作
- 欢迎进入我的个人博客 anzhan.me
- CRM公海自动回收规则
- celery 定时任务时间篇
- Maven(五)Eclipse配置Maven插件
- vim中行末去掉^M
- Curator场景应用
- linux下eclipse环境配置的坑
- mysql 操作sql语句 操作数据库
- DecimalFormat格式化数字
- uva-11111-栈