Cómo configurar y personalizar la página de error 404, de página no encontrada, en el servidor Apache con la directiva ErrorDocument.
Apache, el servidor web más utilizado mundialmente, ofrece una sencilla manera de configurar las páginas de error, accesible incluso para las personas que menos experiencia tienen en cuanto a desarrollo de páginas web. En este artículo veremos dos posibles maneras de decirle a nuestro servidor web Apache la página que deseamos se muestre en el caso que se produzca un error 404.
En principio, las dos posibilidades que veremos son independientes una de la otra, por lo que podremos elegir la que más nos convenga, o la que soporte nuestro espacio de alojamiento. Las dos maneras pasan por configurar la variable de sistema "ErrorDocument", que sirve para indicar el documento HTML que tiene que entregarse cuando surja un error de página no encontrada.
Configuración del error 404 en el httpd.conf
La primera posibilidad para configurar la página de error 404 es editar el archivo principal de configuración de Apache, llamdo httpd.conf. Ese archivo es bastante largo y contiene cientos de configuraciones posibles para el servidor web. En el Manual de Apache ya vimos varios artículos sobre los que tratamos este archivo httpd.conf y las variables principales para su configuración. En concreto, recomendamos leer el artículo Directivas de funcionamiento en httpd.conf (3).Lo único que tendremos que agregar es una línea donde indiquemos la ruta del archivo que enviar al producirse un error de recurso no encontrado, por medio de la variable "ErrorDocument".
ErrorDocument 404 /mipagina404.html
En este caso, se indicaría que, bajo un error 404, se debe enviar el documento que está en el archivo "mipagina404.html" (o cualquier otro documento que queramos utilizar como página de error). La ruta indicada hacia el archivo comienza por "/", por lo que Apache entenderá que el mismo está en la raíz del dominio.
Recordar también que, para que los cambios en el httpd.conf hagan efecto, tenemos que guardar el archivo y después reiniciar el servidor Apache.
Configuración de la página de error 404 por .htaccess
En la mayoría de los casos que podamos encontrarnos, en los planes de alojamiento para nuestra web, no nos permitirán editar el httpd.conf, puesto que ese archivo contiene muchas directivas de configuración críticas, que mal editadas podrían dar lugar a funcionamientos erróneos del servidor. Por ello, para configurar nuestro espacio de hosting en Apache seguramente nos venga mucho mejor esta segunda opción.La segunda posibilidad se trata simplemente de crear un archivo que se llame .htaccess (el archivo empieza por ".", como si no tuviera nombre y sólo se indica esa extensión), donde colocaremos la directiva de configuración "ErrorDocument".
El archivo .htaccess se colocará en la raíz del dominio y tendrá el siguiente contenido.
ErrorDocument 404 /error404.html
Como se puede ver, se indica también la ruta donde estaría la página de error en nuestro sistema. En este caso en un archivo llamado error404.html, que estaría en la raíz del dominio. Obviamente, cada persona colocará el nombre de archivo que quiera utilizar como error 404 y la ruta donde se encuentre ese archivo dentro del dominio.
Conclusión y otras referencias sobre error 404
A partir de que hayamos realizado esa configuración podremos acceder a cualquier página que no exista, o cualquier otro tipo de recurso, como una imagen, y ver que Apache nos muestra desde entonces el archivo que hayamos configurado para expresar el error 404.Como decíamos, los errores 404 son bastante típicos y gracias a esta técnica podemos utilizarlos para redireccionar al usuario hacia otros contenidos o explicarle los motivos del error, así como ofrecerle posibles acciones para solucionarlos o encontrar aquello que buscaba.
En DesarrolloWeb.com tenemos algunas referencias interesantes que quizás te apetezca leer para complementar esta información, como una discusión sobre cómo aumentar la usabilidad de las páginas 404 o problemas de las páginas 404 redireccionadas con PHP, o varios listados de páginas de error 404 originales (I), (II).
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...