Custom error pages
Summary: Customize error pages to better serve the audience of a particular site
Custom error pages
In some maintenance scenarios it might be handy to be able to show custom error pages.
Flexible maintenance page
If there is a need to temporarily divert all traffic to a single static page (for example to show an error message or a maintenance message) the best way to accomplish this is by adding to your
/data/wordpress/nginx/custom.conf a line like:
rewrite ^(.*)$ /maintenance.html break;
The target of the rewrite can actually be any URL and the temporary view shown to visitors can also reside on an entirely different server. This is the recommended way to implement a static maintenance page.
Plain static maintenance page (not recommended)
If a file named index.html is placed in the
/data/wordress/htdocs/ folder, it will take precedence over the existing
index.php file that normally loads WordPress. A static file will always work even if PHP is broken for some reason. A static page might also be useful during a DDOS attack as static content can be served at a much higher rate than PHP generated content.
Custom database connection error page
If WordPress is unable to connect to the database, the PHP file
/data/wordpress/htdocs/wp-content/db-error.php will be displayed instead. This file may be customized to show any static or dynamic content instead of the default template.
Custom WordPress (PHP) error page
If any WordPress PHP file contains a fatal error and PHP cannot execute, the server will give the error 500 by default and the site will be served from stale cache. If it’s not possible to cache the site due to bad cache/expiry headers or excessive cookie usage, each visitor will see an error page generated by their own browser.
To customize this error 500 page, add to the
/data/wordpress/nginx/custom.conf lines like:
fastcgi_intercept_errors on; error_page 500 /wp-content/wp-error.php;
With this change the page
wp-error.php will be displayed. This error page is independent of the WordPress stack and will work despite PHP errors in WordPress code.
WordPress core maintenance module
Also keep in mind that the built-in WordPress drop-in
.maintenance files can be used in the Seravo environment just like anywhere else. For details see wp_maintenance in the WordPress codex.