Sitios web

Página de Error 404 e informe por correo

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.

Error 404

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.

Etiquetas

Contenidos Relacionados

fabriciano

Amante de la informática y de Internet entre otras muchas pasiones. Leo, descifro, interpreto, combino y escribo. Lo hago para seguir viviendo y disfrutando. Trato de dominar el tiempo para que no me esclavice.