Mostrar todos los errores HTTP en una sóla página con PHP
Os mostramos una forma para mostrar los errores HTTP en una sóla página, lo que es mucho más sencillo y rápido para modificar y mantener.
1) Ponemos todas las páginas de error en una localización en nuestro archivo .htaccess
ErrorDocument 400 /error.php ErrorDocument 401 /error.php ErrorDocument 403 /error.php ErrorDocument 404 /error.php ErrorDocument 500 /error.php etc.
2) Código PHP para la página «error.php» en nuestro directorio raíz.
$status = $_SERVER['REDIRECT_STATUS'];
$codes = array(
403 => array('403 Forbidden', 'El servidor ha rechazado tu solicitud.'),
404 => array('404 Not Found', 'El documento/archivo solicitado no se ha encontrado en el servidor.'),
405 => array('405 Method Not Allowed', 'El método especificado en la solicitud no está permitido para el recurso especificado.'),
408 => array('408 Request Timeout', 'Su navegador no envió una solicitud en el tiempo permitido por el servidor.'),
500 => array('500 Internal Server Error', 'Error interno del servidor.'),
502 => array('502 Bad Gateway', 'Pasarela incorrecta.'),
504 => array('504 Gateway Timeout', 'Tiempo de espera de la pasarela agotado.'),
);
$title = $codes[$status][0];
$message = $codes[$status][1];
if ($title == false || strlen($status) != 3) {
$message = 'Código de estado incorrecto.';
}
echo '<h1>'.$title.'</h1>
<p>'.$message.'</p>';