Inicio > Internet y redes, Juegos, Tutoriales, Webmaster > Personalizar pagina de error HTTP 404

Personalizar pagina de error HTTP 404

Sábado, 8 de Diciembre de 2007

Una de las paginas mas visitadas es la de error 404 ya que llegan mediante enlaces caducados, errores de tipeo, buscadores con indices desactualizados, cuando los buscadores buscan el robots.txt de tu sitio o los navegadores cuando buscan el favicon.ico, pero la pagina de error predeterminada

Not Found
The requested URL /archivo/que/no/existe was not found on this server.
______________________________________________________________
Apache {version} at {nombre_del_host} – {modulos instalados}

Esa pagina la podemos personalizar para que pueda lucir asi por ejemplo

Error 404
El archivo que has solicitado no existe en el servidor

(Link home)
(Codigo adsense)
(Codigo google analytics y/o statcounter)

Y asi el visitante puede buscar la pagina en otras secciones del sitio, ademas puedes instalar codigos estadistica, mantener diseño sitio, etc…

Para cambiar esta pagina debes hacer estas dos cosas:

  1. Crear la(s) pagina(s) de error y guardarlas como HTML, PHP, etc
  2. Configurar el servidor para que las use cuando haya un error HTTP.

Para crear las paginas puedes usar desde el bloc de notas hasta Frontpage o Dreamweaver y ahi incorporar diseño, CSS, scripts, etc.

La configuracion del servidor dependera de cual sea, en el mayor de los casos es Apache, si es asi continua…

Debes crear un archivo archivos .hta_ccess el que debe contener lo siguiente:
ErrorDocument 404 /error.html

Obviamente cambias error.html por el nombre que le hayas puesto, debes dejar el / inicial.

Este mismo procedimiento puedes hacer para personalizar las paginas de otros errores, aqui hay una lista de los mas comunes

  • 400 = Error en la peticion del navegador al servidor
  • 401 = La pagina usa Autenticacion HTTP y se ha presionado el boton cancelar en el cuadro que te pide usuario/contraseña
  • 403 = No tienes permisos de acceso a la carpeta, se puede restringir poniendo Deny from All en un archivos .hta_ccess dento de la carpeta a bloquear.
  • 404 = El descrito anteriormente, archivo/carpeta no existente en el servidor
  • 500 = Error interno del servidor, ocurre cuando el archivos .hta_ccess tiene errores de sintaxis o el script CGI arroja errores, el detalle lo puedes ver en el log del servidor.
  • 503 = Servidor fuera de servicio temporalmente

Para personalizar todos estos errores puedes crear una pagina para cada uno y poner en el archivos .hta_ccess

ErrorDocument 400 /error400.htm
ErrorDocument 401 /error401.htm
ErrorDocument 402 /error402.htm
ErrorDocument 403 /error403.htm
ErrorDocument 404 /error404.htm
ErrorDocument 500 /error500.htm
ErrorDocument 501 /error501.htm
ErrorDocument 503 /error503.htm

Asi para evitar crear tantos archivos puedes usar PHP y solo crear una pagina con un parametro donde ira el codigo del error, el script puedes personalizarlo para colocar los mensajes de cada error, asi quedaria el archivos .hta_ccess

ErrorDocument 400 /error.php?error=400
ErrorDocument 401 /error.php?error=401
ErrorDocument 402 /error.php?error=402
ErrorDocument 403 /error.php?error=403
ErrorDocument 404 /error.php?error=404
ErrorDocument 500 /error.php?error=500
ErrorDocument 501 /error.php?error=501
ErrorDocument 503 /error.php?error=503

El script seria asi mas o menos

[sourcecode language=”php”]

Error

Volver al home

[/sourcecode]


Aqui yo he hecho uno para macroflood, lo pueden ver en funcionamiento aqui: 400 401 403 404 500 y aplicado 404

Este ejemplo lo pueden descargar tambien, incluye todos los errores explicados, la opcion de notificar admin y una imagen de Nelson de Los Simpsons para errores de acceso denegado (401 y 403)

DESCARGAR EJEMPLO

No olviden dejar su post si funciono el codigo, opiniones, etc xD

NOTA: He tenido que poner los archivos .hta_ccesscomo imagen pues si los ponia como texto el servidor me arrojaba error 406.

  • chechu

    Definitivamente me pierdo en algun lado, igual seguire intentando. La pregunta (absurda tal vez) es si, suponiendo que logre que este error desaparezca, podre trabajr normamente en Dreamwaver con las Bases de Datos??

  • nymphetamine

    @chechu: ???????

  • Keinthesilent

    Muy util me sirvio muchisimo, andube buscando esto durante semanas muchas gracias

  • Aldo

    GENIAL ESTUBO ESTUPENDO FUNCIONO EN MI SERVER GRACIAS XD!

  • ilen

    Lo hice pero no me funciona =(