Ver Mensaje Individual
  #8 (permalink)  
Antiguo 13/10/2011, 10:31
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Excluir directorio o archivo de la proteccion de mod_auth

Podés crear un unico documento en php ó shtml, que maneje todos tus mensajes de error.
la variable que te va a permitir elaborar una respuesta es
$_SERVER['REDIRECT_STATUS'];

y la otra es $_SERVER['REQUEST_URI'] para saber que documento de solicito

fijate

Código PHP:
Ver original
  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="es-ar">
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>XHtml5</title>
  6. <meta name="author" content="Guillermo Gianello" lang="es" />
  7. </head>
  8. <body>
  9.  
  10. <?php
  11. $status = $_SERVER['REDIRECT_STATUS'];
  12. $codigos = array(
  13.         403 => array('403 Prohibido', 'Está prohibido el acceso a este recurso.'),
  14.         401 => array('401 No autorizado', 'Necesita de credenciales válidas para acceder a este recurso.'),
  15.         404 => array('404 No encontrado', 'El documento o recurso solicitado no se encuentra disponible.'),
  16.         405 => array('405 Método no permitido', 'Método no permitido.'),
  17.         408 => array('408 Tiempo de espera agotado', 'Su navegador ha superado el tiempo de espera permitido por el servidor.'),
  18.         500 => array('500 Error Interno del Servidor', 'Se ha pruducido un error interno en el servidor.')
  19.         );
  20.          
  21. $titulo = $codigos[$status][0];
  22. $mensaje = $codigos[$status][1];
  23. if ($titulo == false || strlen($status) != 3) {
  24.     $mensaje= 'Código incorrecto.';
  25. }
  26.  
  27. echo '<h1>' . $titulo . '</h1>' .  
  28.      '<p>' . $mensaje . '</p>';  
  29. echo "<p>Recurso solicitado: " . $_SERVER['REQUEST_URI'] . "</p>";
  30.  
  31. ?>
  32.  
  33. </body>
  34. </html>

Bueno, ese sólo es un modelo sencillo. en realidad podés poner lo que quieras(crear logs, mandarlos a una base de datos, agregar más números de códigos, capturar más variables, etc), incluso personalizarla para que quede igual a tu página de inicio.
Cuidado con lo siguiente, si te aparece un error 500 y el error es por alguna falla en el propio .htaccess, obviamente te va a mostrar las páginas por defecto del server


Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 13/10/2011 a las 10:56