曾经,在某个遥远的地方,你的WEB服务器一直响个不停;所有的一切都很好,甚至好极了,这时,突然发生了可怕的事,数据库崩溃了。因为这是一个无法预料的错误状况,很多页面返回报错的空页面,或者可能是404状态代码。也许WEB服务器也同时瘫痪。更糟糕的是,还没有热备份来替代工作。同时,搜索引擎正在尝试索引这些页面,什么都找不到,得到空页面等。有这么一些可能性:
一、返回404状态代码或空页面。这是真正的问题。如果服务器返回404状态代码,搜索引擎将把该页面从列表中删除。如果搜索引擎发现空页面,或者页面充斥着错误,它同样做这么做。这种情形无论如何都要避免。
二、没有发现任何东西。就索引角度而言,这实际上更令人可以接受。尽管它可能看起来非常不专业,但搜索引擎可能假设发生了断断续续的链接性问题,并将在稍后再次尝试。然而,用户可能会很苦恼。但至少以蜘蛛的观点看来,只要能在一天左右解决这个问题,那么就没什么大不了的。
那么哪个方法才是正确的呢?解决的办法实际上相当简单。返回500状态代码,带有用来描述错误的自定义页面。这向搜索引擎表明当前存在一个暂时的技术问题。可能是站点关闭作维护。礼貌地请求提供时间,它在备份。或者可能这里有一个大型灾难发生,比如2006年新奥尔良地区的某些WEB服务器出现的情况。对任何URL地址请求返回一个带有礼貌信息的全局错误页面,并等待问题的解决。这些事情可以自动完成。比如当数据库不能访问时。
用这样一行PHP代码就能完成这个,然后添加任何希望的内容:
header('HTTP/1.0 500 Internel Server Error');
echo 'The bak is closed until the scary aliens leave on their space ship; sorry
for the inconvenience,thank you for being a Bank of Mars customer.';
exit();