Esta é uma forma de criar uma única página de erro para todos os erros, o que é mais fácil de atualizar e manter.
1) Aponte todas as páginas de erro em um local em seu arquivo .htaccess
ErrorDocument 400 /error.php ErrorDocument 401 /error.php ErrorDocument 403 /error.php ErrorDocument 404 /error.php ErrorDocument 500 /error.php etc.
2) PHP para a página error.php na raiz
$status = $_SERVER('REDIRECT_STATUS'); $codes = array( 403 => array('403 Forbidden', 'The server has refused to fulfill your request.'), 404 => array('404 Not Found', 'The document/file requested was not found on this server.'), 405 => array('405 Method Not Allowed', 'The method specified in the Request-Line is not allowed for the specified resource.'), 408 => array('408 Request Timeout', 'Your browser failed to send a request in the time allowed by the server.'), 500 => array('500 Internal Server Error', 'The request was unsuccessful due to an unexpected condition encountered by the server.'), 502 => array('502 Bad Gateway', 'The server received an invalid response from the upstream server while trying to fulfill the request.'), 504 => array('504 Gateway Timeout', 'The upstream server failed to send a request in the time allowed by the server.'), ); $title = $codes($status)(0); $message = $codes($status)(1); if ($title == false || strlen($status) != 3) ( $message = 'Please supply a valid status code.'; ) // Insert headers here echo '
'.$message.'
'; // Insert footer here