Sitios web

Cómo crear una página de Error 404 y activar un informe por correo

Explicamos a continuación lo que hay que hacer para crear y activar una página de Error 404 en un sitio web. Indicamos también lo que hay que hacer para recibir un mensaje de correo electrónico cada vez que se produce un error de este tipo.

Cómo crear una página de Error 404 y activar un 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.

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.

Fabriciano González

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.

2 Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.