invader-u Posté 7 Avril 2006 Posté 7 Avril 2006 Bonjour, J'ai cette regle la dans mon .htaccess : ErrorDocument 404 http://www.mondomain.com/404.php Dans mon fichier 404.php, j'enregistre les traces dans un fichier de traces : $texteforfile = "\n\n\n";$handle = fopen("/home/momdomain/public_html/trace_404.txt", "a+");$texteforfile .= "REQUEST_URI : ".$_SERVER['REQUEST_URI']."\n";$texteforfile .= "referer : ".$_SERVER['HTTP_REFERER']."\n";$texteforfile .= "user agent : ".$_SERVER['HTTP_USER_AGENT']."\n";fwrite($handle, $texteforfile);fclose($handle);unset($texteforfile);unset($handle); ce qui me donne par exemple : REQUEST_URI : /404.phpreferer : http://www.google.com/webmasters/sitemaps/...in.com%2F&hl=fr user agent : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1 mais ce que je voudrais, ce n'est pas recuperer systematiquement 404.php par le $_SERVER['REQUEST_URI'], mais recuperer le nom du fichier demandé et inexistant qui a genere l'erreur 404 J'ai essaye en modifiant mon .htaccess comme ci-dessous : ErrorDocument 404 http://www.mondomain.com/404.php?page=%{REQUEST_URI} Puis en recuperant la variable page : $texteforfile = "\n\n\n";$handle = fopen("/home/mondomain/public_html/trace_404.txt", "a+");$texteforfile .= "page demandee : ".$_GET['page']."\n";$texteforfile .= "REQUEST_URI : ".$_SERVER['REQUEST_URI']."\n";$texteforfile .= "referer : ".$_SERVER['HTTP_REFERER']."\n";$texteforfile .= "user agent : ".$_SERVER['HTTP_USER_AGENT']."\n";fwrite($handle, $texteforfile);fclose($handle);unset($texteforfile);unset($handle); Mais les traces donnent : page demandee : %{REQUEST_URI}REQUEST_URI : /404.php?page=%{REQUEST_URI} referer : http://www.google.com/webmasters/sitemaps/...in.com%2F&hl=fr user agent : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1 Y a t'il une solution a mon probleme, afin que je connaisse le nom de la page demandee initialement ? Merci
Dan Posté 7 Avril 2006 Posté 7 Avril 2006 J'ai cette regle la dans mon .htaccess :ErrorDocument 404 http://www.mondomain.com/404.php Ca commence mal ! Avec ce type de redirection ErrorDocument, tu n'auras pas d'entête 404 mais bien une entête 200 OK. Donc tu risques une pénalité pour contenu dupliqué ! Remplace cette ligne par ErrorDocument 404 /404.php Ce sera bien mieux ! Tu as l'outil http-viewer du Hub pour valider tes redirections et les entêtes retournées. Dan
invader-u Posté 7 Avril 2006 Auteur Posté 7 Avril 2006 Ca commence mal ! Avec ce type de redirection ErrorDocument, tu n'auras pas d'entête 404 mais bien une entête 200 OK. Donc tu risques une pénalité pour contenu dupliqué ! Remplace cette ligne par ErrorDocument 404 /404.php Ce sera bien mieux ! Tu as l'outil http-viewer du Hub pour valider tes redirections et les entêtes retournées. Dan <{POST_SNAPBACK}> Salut Dan, J'avais deja prevu le truc, j'ai dans mon 404.php en debut de fichier : header("HTTP/1.0 404 Not Found"); Et comme tu reponds pas a ma question je suppose que meme toi tu sais pas
invader-u Posté 7 Avril 2006 Auteur Posté 7 Avril 2006 Du coup j'ai modifie comme tu me l'as indique et le RESQUEST_URI est bon maintenant. Merci Si tu as du temps, j'ai une colle pour toi avec mon autre sujet juste en dessous : http://www.webmaster-hub.com/index.php?showtopic=23469
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant