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>';