Recevoir un mai si erreur 404

WRInaute occasionnel
Bonjour,

Sur mon site j'ai mis dans mon htaccess une redirection vers un page 404 (avec un pland e site) si la page demandée n'existe pas.

Je voudrai maintenant que lorsque cette page 404 s'affiche récupérer la mauvaise adresse qui a été sollicitée par l'internaute et la recevoir par mail afin de corriger les éventuelles mauvais liens ou erreurs.
Est-ce possible et comment peut ton mettre un tel système en place.
 
WRInaute impliqué
Salut,

t'adapte ceci sur ta page 404.
<?
$to="ton mail";
$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");

?>
 
WRInaute occasionnel
bonjour,
je viens de mettre en place le code de vitalizo.
je reçoi bien un mail lorsque j'ai une erreur 404 mais l'adresse qui est donnée dans le mail est l'adresse du site et je n'ai pas la page inexistante que l'internaute aurait demandé.

en fait je reçoi ça :

Une erreur 404 s'est produite sur le site VOTRE SITE.

Provenance : http://www.monsiteinternet.fr/; Page :
Navigateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50457; .NET CLR 3.5.30419; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C) Adresse IP : http://xx.xx.xx.xx Nom de domaine : ANancy-511-1-54-4.w81-49.abo.wanadoo.fr


est il possible d'avoir le nom de la page en plus afin de ciblé l'erreur ?
 
WRInaute accro
Forty te la dit, impossible car c'est une redirection, donc toujours vide avec PHP, rien dans les logs Apache, par contre tu peux utiliser un script cgi (Cliff's 404 Finder)
 
WRInaute passionné
pour qu'il n'y ai pas de redirection tu peux mettre :
Code:
ErrorDocument 404 /404.php
 
WRInaute passionné
Le referer ne doit pas être vide.
Pour avoir l'adresse de la page en erreur c'est avec : 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']
 
Discussions similaires
Haut