我的网站很早以前就设置了404页面,以为这样就对了,就一直没有管他。今天才发现,原来我的404页面返回的代码并不是404,而是200。这样对于用户来说没有什么,反正页面上呈现的404,但是对于搜索引擎来说,就非常不好了,搜索引擎会以为该网页返回成功了,会抓取网站中这些404链接的页面,从而导致大量页面重复,网站也会因此降权。
明明在配置文件设置的404,怎么会是200呢,弄好好久,终于找到了解决方案。
在配置文件system.web中修改下面节点为:
然后在主入口文件Global.asax中加入一下代码:
protected void Application_Error(object sender, EventArgs e) { Exception mException = Server.GetLastError(); if (mException != null) { if (Response.StatusCode != 301) { Response.StatusCode = 404; Response.WriteFile("~/404.html"); Server.ClearError(); } } }
设置好后,重新编译一次,然后在浏览器上输入一个网站没有的链接。这时,浏览器显示了404页面,查看返回状态也是404了,大功告成。
朋友,请检查下自己网站的404页面,返回值是否是404,如果不是,请及时修改,以免影响seo。
彭亚欧个人博客原创文章,转载请注明出处
文章关键词:asp.net mvc404页面配置,asp.net设置404却返回200,IIS404页面设置
文章固定链接:https://www.pengyaou.com/homeart/MTA0.html
上一篇 软件中的奇葩
下一篇 网站开发需要注意的那些事儿