今天在IIS里设置了404页面到error404.aspx,这样输入http://blog.119797.com/love-yuanding一个不存在的页面,就能跳转到error404.aspx页面来处理了。但仅仅这样还是不够地,我们先来复习下404错误的处理方式及对SEO的影响。
复习完404知识,我们来看下BlogEngine.NET默认error404.aspx的HTTP Status Code输出结果,打开Check Server Headers Tool 输入上面的错误网址,HTTP Status Code:HTTP/1.1 200 OK,这是不符合要求的。打开error404.aspx.cs,在Page_Load事件里加入如下代码,告诉搜索引擎这个页面在服务器上不存在。
protected void Page_Load(object sender, EventArgs e)
{
Response.Status = "404 Not Found"; //新加入的代码
if (Request.QueryString["aspxerrorpath"] != null )
{
DirectHitSearch();
divDirectHit.Visible = true;
}
}
重复上面的检测过程,这次显示为HTTP Status Code: HTTP/1.1 404 Not Found,错误页面也显示正常。
在GetSearchKey()里,可以获取到通过Google,Yahoo页面搜索过来用的KeyWord,咋能没有Baidu的那?我们把Baidu的也给添加上。添加如下代码到GetSearchKey()方法里
if (referrer.Contains("wd="))
return "wd=";
Ok,收工。下一篇文章我将完善下error404.aspx,让她更智能。如果你懒得修改,可以下载我修改好的文件,覆盖对应文件即可。
猛击下载error404.aspx.zip