对应经常玩 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" rel="external nofollow" >webmaster@example.com</a></p>
- </body>
- </html>