INFO D'UNE ERREUR 404 

Outils pour webmaster. Trucs et astuces en code HTML et JavaScript : améliorer son site internet

Descriptif : Même lorsque tous vos liens auront été vérifiés en local, vous n'êtes pas à l'abri d'une erreur une fois vos pages transférées chez votre hébergeur. Une faute courante est lorsque vous avez écrit le nom d'un fichier en  majuscule et que le lien vers celui-ci est en minuscule. Si Windows admettra majuscule et minuscule indifféremment, ce ne sera pas le cas des serveurs Unix qui sont la majorité des hébergeurs. Dans un autre cas, il se peut aussi que l'une de vos pages soit endommagée ou effacée accidentellement.

Le meilleur moyen d'être informé qu'un visiteur a affiché la mortelle page Erreur 404 c'est qu'un mail vous soit envoyé automatiquement en vous indiquant :
    - La provenance.
    - La page incriminée.
    - Le navigateur de l'utilisateur.
    - Son adresse IP.
    - Son nom de domaine.

Exemple :

Mise en oeuvre : Votre hébergeur doit disposer de l'option PHP. Il vous faudra alors créer un fichier .htaccess à placer à la racine de votre site et qui contiendra  :

ErrorDocument 404 /erreur404.php

Ce fichier ne peut être nommé ainsi sous Windows. Il faudra le sauvegarder en htaccess.txt, le transférer en ASCII sur votre site puis le renommer avec votre client FTP à partir de votre hôte en .htaccess
Il se peut que vous ne voyiez pas ce fichier sur votre serveur car le client FTP le considère comme un fichier système et le cache. Allez dans les options d'affichage de votre client FTP afin de les modifier et de pouvoir visualiser votre fichier .htaccess.

Puis, il vous faudra créer un fichier erreur404.php à placer à la racine de votre site et qui contiendra  :

ERREUR 404
Un e-mail va être envoyé au webmaster du site pour qu'il corrige le problème.
<?
$to="votre_mail@votre_site.com";
$sujet="ERREUR 404 sur VOTRE SITE.";
if(empty($HTTP_REFERER)) { $provenance="Pas de lien intermédiaire, connexion directe"; } else { $provenance=$HTTP_REFERER; }
$message="\nUne erreur 404 s'est produite sur le site VOTRE SITE.\n\nProvenance : ".$provenance.";
Page : ".$SCRIPT_URI."\nNavigateur : $HTTP_USER_AGENT\nAdresse IP : http://$REMOTE_ADDR\nNom de domaine : ".gethostbyaddr($REMOTE_ADDR)."\n";
@mail($to,$sujet,$message,"FROM:Erreur404");
?>

Remarque :
- Les fichiers ci-dessus peuvent être créés avec NotePad.
- Cette fonction ne semble pas aimer les aspirateurs de sites comme WebCopier. La boîte aux lettres du webmaster a explosé avec la reception de 1700 mails suite à la manoeuvre d'aspiration d'un surfeur. Voir à ce propos le tableau des liens en bas de page.
- Vous pouvez vous servir de cet exemple pour traquer d'autres erreurs (401, 402, 403, 405 etc)
- Après le code PHP, vous pouvez ajouter du HTML afin d'afficher une page au visiteur.
- Code provenant du site www.amen.fr

Ajout :
- Certaines fonctions connues ne sont pas à proprement parler des erreurs sur votre site. Par exemple, le navigateur d'un visiteur qui sera mal configuré pour lire le JavaScript ou le JAVA, peut provoquer une erreur 404. Pour limiter le nombre de mails aux seul valides, ajouter les lignes (en gras) de codes ci-dessous.

<?
$result=1;

if (preg_match("'DigExt'",$HTTP_USER_AGENT)) $result=0;
if (preg_match("'votre_application_JAVA'",$SCRIPT_URI)) $result=0;
if (preg_match("'cltreq.asp'",$SCRIPT_URI)) $result=0;
if (preg_match("'owssvr.dll'",$SCRIPT_URI)) $result=0;

if ($result==1){

$to="votre_mail@votre_site.com";
$sujet="ERREUR 404 sur VOTRE SITE.";
if(empty($HTTP_REFERER)) { $provenance="Pas de lien intermédiaire, connexion directe"; } else { $provenance=$HTTP_REFERER; }
$message="\nUne erreur 404 s'est produite sur le site VOTRE SITE.\n\nProvenance : ".$provenance.";
Page : ".$SCRIPT_URI."\nNavigateur : $HTTP_USER_AGENT\nAdresse IP : http://$REMOTE_ADDR\nNom de domaine : ".gethostbyaddr($REMOTE_ADDR)."\n";
@mail($to,$sujet,$message,"FROM:Erreur404");
}
?>
<html>

<head>
<title>Erreur 404</title>
<meta name="robots" content="noindex, follow">
</head>

<body>
<p align="center"><font size="5" color="#FF0000"><strong>IMPOSSIBLE D'AFFICHER LA PAGE
CORRECTEMENT</strong></font></p>
<p align="center"><font size="2" color="#008000">Un mail a été envoyé au
webmaster afin de corriger cette erreur.</font></p>
<p align="center"><a href="http://www.VOTRE_DOMAINE.com/index.html">RETOUR</a></p>

</body>
</html>

- N'oubliez pas } juste avant ?>
- Cette page contiendra uniquement des liens absolus : http://www.etc...
- N'ajoutez ces lignes une fois sûr qu'aucun autre élément dans la page n'est susceptible de provoquer des erreurs (liens, images etc).
- Vous devrez, suivant la configuration de votre site, déterminer quels sont les éléments à exclure du signalement de votre mail erreur 404. Par exemple, DigExt est un module Internet Explorer servant à consulter une page hors ligne. Ce module provoque un grand nombre d'erreur. Vous pouvez le faire figurer dans les lignes de vérifications.
- Vous pouvez ajouter aussi cltreq.asp et owssvr.dll correspondant à des visiteurs ayant le module du navigateur "Discuter" actif.

Liens connexes qui vous serviront dans l'environnement du fichier .htaccess

Limiter le nombre de hits  -  Interdire les aspirateurs(1)  -  Interdire les aspirateurs (2)  -  Liste générale des applications et aspirateurs indésirable, écriture .htaccess  -   Ecriture du fichier .htaccess (et htpasswd)  -  Liste vérifiée des applications et aspirateurs indésirables  -  Autres applications vérifiées  -  .htaccess et liste vérifiée des applications indésirables   -  Info par mail d'une erreur 401,403,404,405  -  Page personnalisée d'erreur  -  Le fichier robots.txt  -  Ecriture et redirection avec htaccess  -  Mot de passe avec .htaccess et .htpasswd  -  Codez vos mots de passe  -  Interdire l'affichage de ses images  -  CHMOD  -  Les codes d'erreurs 

Retour

Copyright www.toulouse-renaissance.net ©