Redirection 404 : renvoi 200

WRInaute impliqué
Bonjour,

Dans l'espace webmaster google, j'ai le message suivant :

...Nous avons constaté que votre serveur renvoyait l'état 200 (trouvées) pour des pages qui n'existent pas. Nous ne sommes pas en mesure de vérifier les sites ainsi configurés, car cela permettrait à d'autres utilisateurs d'en vérifier la propriété. Vous pouvez utiliser notre méthode de vérification à l'aide de la balise META ou modifier la configuration de votre serveur....


htaccess
ErrorDocument 404 /404.php



404.php
Code:
<?
header(
 "Status: 301 Moved Permanently", false, 301);
header(
 "Location:http://www.monsite.com");
exit();
?>


Pouvez-vous m'indiquer ce qui n'est pas pas bon, est ce la redirection 301 dans le fichier 404.php, il me semblait avoir trouvé cette solution sur WRI. j'ai fait ceal pour rediriger vers la home toutes anciennes pages qui n'existe plus sur un site refondu.


Merci
Florent
 
Nouveau WRInaute
Dans l' htaccess, faut mettre une url relative.

edit: une url relative (chaque fois je confonds^^)
 
WRInaute passionné
il ne faut pas mettre la redirection 301 sinon la page d'erreur n'est plus une page d'erreur. Met plutôt un lien vers la page d'accueil et un lien "back" par exemple. Tu peux également ajouter une redirection meta refresh avec un délai court.
 
WRInaute impliqué
Bonjour,

Il ne faut surtout pas JAMAIS mettre d'url absolue, sinon c'est retour 2OO a tout les coups.

ErrorDocument 404 / pour rediriger vers la home
ErrorDocument 404 /erreur404.php le nom de ton fichier a cibler !!!!

Dans mon cas, je vais rediriger vers la home "ErrorDocument 404 /" tant pis pour le benefice d'une redirection 301.


Cordialement
Florent
 
WRInaute impliqué
Oui on se demande pourquoi je dis ca maintenant :lol:

Bon si qq1 passe dans le coin

Ya t'il moyen de faire une declaration 301 dans le fichier 404.php en declarant un header 4O4 en premier?


Sinonmon code presenté ci-dessus ne devrait en aucun cas renvoyer 200! mais 301.

Florent
 
WRInaute passionné
le code 200 doit correspondre à celui de la page d'accueil.

La fonction header permet de modifier le code retour.

J'ai utilisé une autre solution pour la page d'erreur 404 : suivant l'url en erreur je peut soit faire une redirection vers la bonne page, soit laisser en 404 soit renvoyer un 410 soit tracer le problème.
Ca me permet de gérer mes pages déplacées ou supprimées avec seulement une petite table sans modifier le htaccess.
 
WRInaute impliqué
yep, j'ai eu le même problème et en faite pour affirmer cela google fait un get sur une page qui n'est pas sensée exister.

Cette page c'est quelque chose de la forme noexist_0942e3c17ce3decf.html ou 0942e3c17ce3decf est le base de la page html qu'il te demande

Alors l'idée dans ton .htaccess tu rajoutes quelques choses comme cela :
Code:
RewriteRule ^noexist_0942e3c17ce3decf.html$ 404google.php [L]
avec 404google.php
Code:
<?php
        header("HTTP/1.0 404 Not Found");
?>

ainsi tu peux vérifier ton site :)
 
WRInaute impliqué
Une bonne url qui donne tous les codes header, par simple curiosité?

Sinon c'est noté pour le tip, je vais attendre un prochain passage du bot
vu que j'ai changé la declaration dans le htaccess pour un simple "/"

Florent
 
Discussions similaires
Haut