自定义 WordPress 数据库连接错误页面

自定义 WordPress 数据库连接错误页面

玩过 WordPress 的站长们,对“建立数据库连接时出错”(Error establishing a database connection)这句话应该并不陌生。当你看到这句话时,说不定网站已经挂了好几个小时了 —— 因为 WordPress 并不会自动发邮件告知你这一错误。

好在 WordPress 允许我们创建一个数据库错误页面,我们只需在 wp-content 创建 db-error.php 文件。

的好处

在这个自定义的中,我们可以做到这三件事:

  • 告诉搜索引擎这只是个临时错误;
  • 发送邮件通知站长;
  • 优化信息,而不只是丑陋的一句话;

示例代码

<?php
	$protocol = $_SERVER['SERVER_PROTOCOL'];
	if ( !in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0' ) ) ) $protocol = 'HTTP/1.0';
	header( "$protocol 503 Service Temporarily Unavailable" );
	header( 'Status: 503 Service Temporarily Unavailable' );
	header( 'Retry-After: 3600' );
	mail( 'webmaster@example.com', '网站暂时不可用', '建立数据库连接时出错' );
?>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>网站暂时不可用</title>
</head>
<body>
	<h1>网站暂时不可用</h1>
	<p>网站正在维护中,请稍候访问。</p>
	<hr>
	<p>联系站长:<a href="mailto:webmaster@example.com">webmaster@example.com</a></p>
</body>
</html>

如果你很懒……

如果你懒的自己动手实现的话,也可以装 DB Error Customizer 插件,同样提供了邮件通知和自定义页面内容的功能。