Personalizar Error 404 de Apache mediante ErrorDocument

El error 404 de Apache es mostrado cuando se solicita una página web, o recurso en general (como una imagen), que no existe en el servidor.

Como el error 404 que muestra Apache por defecto es poco amigable y nada interesante para el usuario particular, el que visita nuestro sitio web, siempre es mejor personalizar este error 404 de página o recurso no encontrado con una página web que indique de manera más «amistosa y bonita» al usuario que esa página o recurso no existe, e incluso ofrecerle alternativas a otras páginas desde el mismo error.

Para ello vamos a echar mano del archivo de configuración distribuida .htaccess de Apache, que nos permite configurar diferentes opciones de este servidor sin tener que tocar la configuración principal (que la mayoría de servicios de hosting no permite).

Si queremos definir una página de error personalizada, que se muestre siempre que un usuario intente acceder a un recurso o página inexistente, para todo el sitio web, crearemos (o editaremos si ya existe) en la raíz del directorio web un fichero de nombre .htaccess e incluiremos la siguiente línea:

ErrorDocument 404: /error404.html

Con ésto, cuando alguien acceda a cualquier recurso que no existe en el servidor, se le mostrará la página /error404.html , que previamente tendremos que crear y editar a nuestro gusto.

Hay que tener en cuenta que el fichero .htaccess tiene carácter recursivo en el árbol de directorios, es decir, que tiene vigor para el directorio en el que se encuentre y para los hijos de éste. De forma que en nuestro ejemplo, al haberlo colocado en la raíz del directorio web, tendrá valor para cualquier directorio y subdirectorio del mismo. E igualmente podemos crear un .htaccess diferente para un subdirectorio concreto, etc.