今天小编在试调 vps 的时候不小心让数据库挂了几分钟,看着默认的数据库页面小编有点蛋疼了,这尼玛太简陋了!就一个数据错误,其他啥也没有。而且 WordPress 的默认数据库错误页面貌似返回的 http 状态码还是 200,卧槽这可不得了啊,要是数据库错误的时候蜘蛛正好来抓内容那铁定没好印象啊!本来小编是想用.htaccess 文件来实现自定义数据库页面的,不过 WordPress 内置了自定义数据库错误页面,小编也就懒得折腾了,下面直接上代码。

<?php
//返回 http 503 状态吗
  header('HTTP/1.1 503 Service Temporarily Unavailable');
  header('Status: 503 Service Temporarily Unavailable');
  header('Retry-After: 600');

//当数据库出错时向管理员邮箱发送一封邮件 ,如果不需要此功能可以注释掉下面这段代码
mail("dns@weixiaoduo.com", "数据库错误", "数据库出错啦!", "From: Db Error Watching");

?>

<!DOCTYPE HTML>
<html>
<head>
<title> 数据库错误</title>
<style>
body { padding: 20px; background: red; color: white; font-size: 60px; }
</style>
</head>
<body>
  Sorry~~~服务出了点小问题,请稍后访问~
</body>
</html>

将以上代码保存为 db-error.php 文件并上传至 wp-content 目录 (这里强调下是 wp-content 目录下而不是主题目录!),上传完毕之后在服务器出现数据库错误的时候 WordPress 就会自动的调用这个页面。