En múltiples ocasiones cuando un visitante intenta acceder a una página de nuestro sitio se muestra una página de Error 404 estándar, que genera el navegador web. Esto se debe a que la página solicitada no existe. Podemos elaborar una página de error personalizada y, además, recibir un mensaje de correo cada vez que se accede a ella. De esta forma otorgamos un estilo profesional a nuestro sitio y, después de analizar el correo, también podemos buscar el motivo del error y tratar de corregirlo.
Código de página de Error 404
Para la elaboración y utilización de esta página es obligatorio tener instalado y habilitado en nuestro servidor el lenguaje PHP. La página tendría la estructura siguiente:
<?php $envioMail = "si"; // Debe ser "si" para que el correo sea enviado $direccionEmail = "nombre@dominio.com"; // Tu dirección de correo putenv('TZ=Europe/Madrid'); // Establece el valor de tu zona horaria // No cambies nada de lo que viene a continuación if ($envioMail == "si") { $mensaje = "Fecha y hora del error: " . date(" d F h:ia") . "\n\n"; $mensaje .= "Navegador: " . $_SERVER['HTTP_USER_AGENT'] . "\n\n"; $mensaje .= "Página solicitada: " . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . "\n\n"; $mensaje .= "Página de procedencia: " . $_SERVER['HTTP_REFERER'] . "\n\n"; mail($direccionEmail, "Error 404" , $mensaje, "From: Web"); } header("HTTP/1.0 404 Not Found"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Error 404 - Página no encontrada?</title> </head> <body> <div align="center"> <table border="0" cellpadding="0" style="border-collapse: collapse" width="70%" id="table1" height="100%"> <tr> <td> <h1 align="center">Error 404</h1> <p align="left">El documento o página que has solicitado (<?=$_SERVER['HTTP_HOST']?><?=$_SERVER['REQUEST_URI']?>)no se puede localizar en estos momentos dentro de nuestro sitio por alguno de los motivos siguientes:</p> <ul> <li>El documento ha cambiado de ubicación de forma permanente.</li> <li>El documento no está accesible en la dirección especificada.</li> <li>El servidor no ha encontrado el documento solicitado.</li> </ul> <p align="left">Pulsando <a href="javascript:history.go(-1)">aquí</a> podrás volver a la página de la que procedes.</p> </td> </tr> </table> </div> </body> </html>
Estructura de la página
La parte superior, la que corresponde al código PHP, recopila los datos que serán enviados en un mensaje a la dirección de correo que hayas especificado (recuerda que debes ponerla en $direccionEmail). (Si no quieres recibir el mensaje de correo, sólo tienes que darle a la variable $envioMail cualquier valor distinto de si, por ejemplo, no). La estructura del código HTML la puedes cambiar y adaptarla a tus preferencias. Guarda el documento creado con el nombre error404.php dentro de una carpeta (directorio) de nombre errores.
Modificación de .htaccess
En el archivo .htaccess tendrás que añadir la línea siguiente:
ErrorDocument 404 /errores/error404.php
De esta forma, cada vez que se produce un error 404, el navegador abrirá la página error404.php y, también, el servidor nos enviará un correo informándonos del fallo.
Conclusión
Aunque actualmente son muchos los que utilizan un gestor de contenidos para sus sitios web, como puede ser WordPress, no está de más el tener en cuenta lo que hemos explicado en casos puntuales. Si el sistema no incorpora una página que muestre cuando se produce un Error 404, con lo que hemos explicado conseguiremos elaborar dicha página.
Me alegro de que te haya servido la información proporcionada.
Saludos.
excelente aporte, me despejo muchas dudas, muchas gracias por la info