上个月,有朋友送了我个万网的空间,所以就决定把博客放到单独的空间去,原来使用的链接地址是 http://www.521yy.com/blog这个,处于二级目录的地位,更换后使用的就是现在 http://www.senlon.net这个了。虽然521yy这个很久前由于某些原因被那个MJJ的百度K了,但google等还收录正常,所以在搬家后就导致了google收录的链接出现了问题,有的页面不能访问了。本打算两个都留着,但看着心烦,最后还是把521yy里面的那个blog给删掉了。
普遍来说,当网页URL地址发生了改变、网页文件更名或移动位置、导入链接拼写错误等,就会导致原来的URL地址无法访问;当Web服务器接到类似请求时,会返回一个404状态码,告诉浏览器要请求的资源并不存在。但是,Web服务器默认的404错误页面,无论Apache还是IIS,均十分简陋、呆板且对用户不友好,无法给用户提供必要的信息以获取更多线索,无疑这会造成用户的流失。
当搜索引擎获得了一个错误链接时,网站应该返回404状态码,告诉搜索引擎放弃对该链接的索引。而如果返回200或302状态码,搜索引擎就会为该链接建立索引,这导致大量不同的链接指向了相同的网页内容。结果是,搜索引擎对该网站的信任度大幅降低。所以,在自定义404错误页面设置完毕后,一定要检查一下其是不是能够正确地返回“404”状态码。检查的方法也相当简单,输入一个网站内不存在网页的url,查看一下HTTP Header的返回情况,确信其返回的是“404”状态码。
404错误的设置可以直接到虚拟空间的控制面板中的”错误定制“进行,相信目前绝大部分的空间商都是支持404设置的。
而PHP的只要在.htaccess修改就可以了:
在.htaccess 文件中加入:ErrorDocument 404 /notfound.html
建立一个404页面命名 notfound.html,把它放置在网站根目录即可。
如果是需要在IIS/ASP.net下设置404错误页面,先需编辑一下应用程序根目录web.config,在其中加入如下内容:
<configuration>
<system.web>
<customErrors mode=”On” defaultRedirect=”error.asp”>
<error statusCode=”404″ redirect=”notfound.asp” />
</customErrors>
</system.web>
</configuration>
(注:上面的“error.asp”为系统默认的404页面,“notfound.asp”为自定义的404页面,使用时请修改相应文件名)
然后,在自定义的404页面“notfound.asp”中加入如下内容即可:
<%
Response.Status = “404 Not Found”
%>