> Manuales > Instalación y configuración de Apache

Cómo configurar y personalizar la página de error 404, de página no encontrada, en el servidor Apache con la directiva ErrorDocument.

Las páginas de error 404 son tan típicas que es posible que todos las conozcamos sin hablar más de ellas. Pienso que es difícil encontrar alguien que navegue habitualmente por la Red y no haya reparado en ellas en alguna ocasión, pero aun así la persona que desee saber algo más, puede consultar qué dicen los usuarios de la Wiki en la entrada sobre el error 404.

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.

Nota: de manera predeterminada, al producirse un error 404, Apache muestra una página de error muy simple, que la verdad es que no ofrece al usuario mucha información útil que le sirva para detectar el motivo del error. Por ello, puede merecer la pena configurar nuestra propia página de error 404 personalizada.

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.

Nota: Antes de agregar esa línea, deberíamos comprobar si existe en alguna parte del archivo httpd.conf una referencia anterior a esa directiva, haciendo una búsqueda por el texto "ErrorDocument" dentro del archivo. Pero tener en cuenta que en el archivo httpd.conf todas las líneas que empiezan por "#" son comentarios.

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.

Nota: Si disponemos ya de un archivo .htaccess en nuestra raíz del dominio, simplemente tendremos que editarlo para incorporar esa línea.

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

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online Escu...

Manual