¿Cómo personalizar las páginas de error?

Cuando se desarrolla un nuevo sitio web, se deben contemplar los siguientes aspectos: textos, imágenes, el uso de animaciones, la extensión y cantidad de las páginas procurando que el sitio sea agradable a la vista, que no sea aburrido ni pesado al momento de leer, y que el contenido sea suficiente, además de contar con medios adecuados para ponerse en contacto con el administrador del mismo.

En la medida que crecen los sitios, su administración puede volverse difícil debido a que en ocasiones se presentan situaciones inesperadas como la falta de imágenes, errores en las formas de contacto y presencia de ligas muertas (ligas en una página que apuntan a otra que ya no existe por eliminación o cambio de nombre); cuestiones que debemos evitar para proyectar una buena imagen al público.
Los mensajes de error son generados por el servidor de Web, y en este caso, tratándose de Linux, es el servidor Apache. Los errores pueden ser desde una página no encontrada o un acceso prohibido, hasta un error por parte del servidor.
Cabe señalar que las páginas de error no tienen elementos gráficos y son genéricas a todos los sitios que se estén ejecutando en el servidor, por lo que al mostrarse un error, romperá el diseño de nuestro sitio.
Los errores más frecuentes
400 Bad syntax (Error de sintaxis)
401 Unauthorized (Acceso no autorizado, el usuario debe autentificarse)
403 Forbidden (Acceso Prohibido)
404 Not Found (No Encontrado)
405 Method not allowed (Modo no permitido)
500 Internal Error (Error Interno)
501 Not Implemented (No Implantado)
502 Overloaded (Sobrecargado)
503 Service Unavailable (Servicio no disponible)
504 Gateway Timeout (Gateway Fuera de Tiempo)
505 HTTP Version not supported (Versión de HTTP no Soportada)
Según las circunstancias o giro de nuestra empresa, la información proporcionada podrá ser o no de utilidad, por lo que realizaremos la personalización de estos mensajes. Para ello deben seguirse los siguientes pasos:
1) Personalización realizada por el administrador del servidor
2) Personalización realizada por el propio usuario
La primera opción debe realizarse sólo por el administrador del servidor, ya que implica modificar el archivo de configuración del servidor Apache y se logra localizando la sección donde se define el Host Virtual del sitio (por ejemplo www.midominio.com)

ServerAdmin admin@midominio.com
ServerName midominio.com
DocumentRoot /var/www/html
ErrorLog /var/log/httpd/error_log
TransferLog /var/log/httpd/access_log
Options Indexes Includes FollowSymLinks MultiViews ExecCGI
DirectoryIndex index.php home.html index.html home.htm index.htm
CustomLog /var/log/httpd/access_log «%h %l %u %t \»%r\» %s
ErrorDocument 400 /errores/error-400.html
ErrorDocument 401 /errores/error-401.html
ErrorDocument 403 /errores/error-403.html
ErrorDocument 404 /errores/error-404.html

En las últimas cuatro líneas (antes del tag ), se define una página para cada uno de los errores (cuatro para este ejemplo).
Al terminar la modificación es necesario reiniciar el servidor de web mediante el comando /etc/rc.d/init.d/httpd restart.
Este método no es muy usado, ya que en ocasiones no se tendrá acceso a los archivos de configuración del servidor y mucho menos los atributos necesarios para reiniciar procesos; así mismo, cuando el volumen de sitios hospedados en el equipo crezca, será difícil su mantenimiento, por lo se recomienda delegar esta tarea a los diseñadores del sitio.
La segunda opción puede usarse con el archivo .htaccess cuando el usuario hospeda su sitio en el servidor de un tercero; en ese archivo agregaremos las siguientes lineas:
ErrorDocument 400 /errores/error-400.html
ErrorDocument 401 /errores/error-401.html
ErrorDocument 403 /errores/error-403.html
ErrorDocument 404 /errores/error-404.html
De esta manera le decimos al servidor Web que en caso de presentarse un error determinado, redireccione al navegador del cliente a una página en particular (como lo es en nuestro ejemplo).
Otra opción es redireccionar a un programa para realizar alguna tarea determinada (una forma de comentarios, contadores, redireccionamientos a otros sitios, mandar un correo al administrador con el detalle del error generado, etcétera).
A continuación se muestra un ejemplo completo:
Primero crearemos la página a mostrar, en este caso es la generada por el error 404:

Error 404





align=center>

Bienvenidos



Error 404

Lo sentimos, la página solicitada no se encontró




Como se puede observar, en las primera líneas se manda llamar al programa en la que realizaremos una acción en particular, que es llevar la cuenta de las veces que se ha generado el error, para ello crearemos el archivo contador.php que contenga lo siguiente:
$contador = «/var/www/midomino/logs/contador.txt»;
$contador2 = «/var/www/midominio/logs/contador2.txt»;
$fp = fopen($contador,rw);
$num = fgets($fp,5);
$num += 1;
exec( «rm $contador»);
exec( «echo $num > $contador»);
exec( «echo $contador, $REMOTE_ADDR >> $contador2»);
?>
Por medio de éste, llevaremos la cuenta de errores generados en el archivo contador.txt para fines estadísticos.
En el archivo contador2.txt llevaremos el registro de los visitantes que recibieron el error bajo el siguiente formato.
/var/www/midominio/contador.txt, 64.68.82.5
/var/www/midominio/contador.txt, 148.233.54.22
/var/www/midominio/contador.txt, 211.157.36.5
Realizando una pequeña modificación al programa, podemos tener una bitácora más detallada, incluso para generar estadísticas de visita a nuestro sitio entero.

Share via
Copy link
Powered by Social Snap