Blog Reacción Estudio

¡Tu zona de aprendizaje!

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