深圳专业SEO、网站建设、网站优化服务商!
我的位置:龙形网络首页SEO优化 › 龙形网络经验:ASP.NET自定义404页面怎么写?

龙形网络经验:ASP.NET自定义404页面怎么写?

文章发布:龙形网络 发表时间:2013-11-17 浏览次数:

一个好的404页面不仅是HTML布局个简单页面就算完事,必须要配合服务器的设置才算是正确的,另外,404错误页面最好能给客户一定的引导,即使客户访问了错误的URL,也能通过404错误页面重新回到你的网站,争取能最大程度上减少客户的流失。

之前龙形网络谈过如何建立网站的404页面,404页面不仅是可以增加阅读者的用户体现,更重要的对搜索引擎还是比较重要的。当各大搜索引擎在接入这个url时,得到的是404的状态,就知道这个url是错误的链接,这个页面是不存在的,从而可以知道这个url已经是失效的了,各大搜索引擎的蜘蛛就不会索引这个页面上的内容,并且在搜索引擎的数据库里面将这个url对应的页面从数据里面进行删除,删除这个这一条记录肯能要很长时间,也可能一下就删除掉了,这个取决于搜索引擎本身,但是当得到”200”状态码的时候,搜索引擎会认为这个url是存在有效的,便会去索引收录到数据库当中去,这样就产生了两个不同的url,这两个url上面的内容是完全一样的,这样的话搜索引擎就会觉得你出在复制网站的问题,这可能会被降权,严重的可能网站被直接K了。
 
那么ASP.NET自定义404页面怎么写呢?

 

默认情况下, ASP.NET Web.config是用来处理404错误

<customErrors defaultRedirect="GenericError.htm" mode="On">
<错误statusCode="404" redirect="404.html"/>
</ customErrors >
 

 

然而,这种方法将是一个问题,将首先返回HTTP Responsec 302临时重定向状态代码后回传200 ( OK )代码,这样的设计是不够的,搜索引擎友好的。

 

ASP.NET自定义404解决方案1

 

让我们修改web.config中设置处理404错误。

<customErrors defaultRedirect="GenericError.htm" mode="On">
<错误statusCode="404" redirect="404.aspx"/>
</ customErrors >
 

 

那就让我们在404页的Page_Load事件代码段下添加

保护无效的Page_Load (对象发件人, EventArgs五)
{
Response.StatusCode = 404 ;
}
 

现在,我们可以看到,在测试后,虽然返回404状态码,但还是会去通过302临时重定向,因此这种方法是不够的,搜索引擎友好。

 

ASP.NET自定义404解决方案2

 

之前,让我们先注释掉的web.config 404语法。

<! - <customErrors的defaultRedirect="GenericError.htm" mode="On">
<错误statusCode="404" redirect="404.html"/>
< / customErrors > - >
 

 

然后在Global.asax中添加下面的代码来处理404错误

保护无效的Application_Error (对象发件人, EventArgs五)
{
异常前=的的Server.GetLastError () ;
(前回HttpException )
{
( ( (回HttpException ) (前) ) 。 GetHttpCode ( ) == 404 )
Server.Transfer的( “〜/ 404.html ” ) ;
}
/ /代码运行时发生未处理的错误
Server.Transfer的( “〜/ GenericError.htm ”) ;
}
 

现在,让我们再次测试,可以发现,只有返回404状态码,这样的设计将能够自定义404页面设计完全符合。404页面平时我们不容易察觉,但是却可以借助工具来实现,具体的方法也非常简单,利用Google管理员工具就会显示一些404错误页面,这些页面正是由于有外部链接的存在所以蜘蛛才来抓取,如果我们常常发现这些页面的话,那么就可以联系对方网站管理员让其修正,如果修正难度过大,那么完全可以做一个对应的URL页面,上边写上自己想要用户访问的内容,这种方法是巧妙利用错误URL增加外部链接的一个小技巧。

标签:404页面
分类:SEO优化
本文为网站原创文章,转载请注明本出处 http://www.shi-seo.com/seo-youhua/79/

同类文章推荐

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。