Aller au contenu

Redirection 301 ? ou 302 ?


Anonymus

Sujets conseillés

J'essaie de faire une redirection 301, en php.

Ca donne :

header("Status: 301 Moved Permanently");

header("Location: http://www.domaine.com");

exit();

Seulement, ca me sort une redirection 302, sur le http viewer :(

J'ai essayé de passer le même type de redirections avec le htaccess, et ca me sort idem :(

Une idée ?

Lien vers le commentaire
Partager sur d’autres sites

Tu me donnes l'URL de la page faisant la redirection (celle initiale, pas la destination) ?

J'ai fait des modifs de code sur le http-viewer, je me suis peut-être loupé :(

Lien vers le commentaire
Partager sur d’autres sites

Ok Anonymus,

En regardant le début de l'entête renvoyée par ton URL, on a:

HTTP/1.1 302 Found

Date: Mon, 07 Feb 2005 10:13:51 GMT

Server: Apache/1.3.33 (Unix) mod_gzip/1.3.19.1a PHP/4.3.10 mod_ssl/2.8.22 OpenSSL/0.9.6m

X-Powered-By: PHP/4.3.10

Status: 301 Moved Permanently

Je pense qu'il doit s'agir d'un mauvais paramétrage de ton serveur Web... mais je ne sais pas lequel :(

Je cherche....

Dan

Lien vers le commentaire
Partager sur d’autres sites

Cela vient de l'appel que vous faites... Si vous tournez PH >= 4.3, il vaut mieux mettre:

header("HTTP/1.0 301 Moved Permanently");

ou

header("HTTP/1.1 301 Moved Permanently");

que

header("Status: 301 Moved Permanently");

Parce que par défaut, header(location:...) renvoye une entête 302 sauf si le status est défini avant. Je pense que votre syntaxe ne doit pas être totalement respectée. ;)

Dan

Lien vers le commentaire
Partager sur d’autres sites

solo, tu as quelle url, comme renvoi vers le hub ?

Et quel code utilises tu ?

Et..

Ne serait ce une erreur, de penser que le code 302 ne donne que des redirections temporaires ? Quand on regarde la définition des codes http, on a :

302 : la page existe, mais à une nouvelle adresse. (sans dire si c'est temporaire ou pas.. )

Lien vers le commentaire
Partager sur d’autres sites

En continuant dans le même ordre, mon htaccess me donne une 302, là ou je m'attendais à avoir une 301 :(

RedirectPermanent ancienne_page.php http://www.nouveau_domaine.com/

Lien vers le commentaire
Partager sur d’autres sites

Je confirme Dan. Pour simplifier la vie de l'utilisateur (sic), PHP repère les entêtes "Location" et passe tout seul le code de retour HTTP à 302. Pour mettre un 301 il faut le définir après.

Sinon je déconseille très fortement l'utilisation des "status:". Suivant qu'on est en CGI ou en module ça marchera ou ne marchera pas. Pour ceux qui sont sous PHP 4.3.0 et supérieur je conseille plutot ce qui suit :

header("Moved blabla", true, 301);

Le moteur utilisera tout seul la bonne méthode pour renvoyer le code HTTP suivant la manière dont il fonctionne.

Lien vers le commentaire
Partager sur d’autres sites

Ok merci  ;) Est-ce que cela (le fait d'avoir un http 302) a pu avoir des "incidences" sur le référencement ?

Non, je ne pense pas du fait que le status était correctement renseigné ensuite.

Mais le mieux est à mon avis d'utiliser le

header("HTTP/1.1 301 Moved Permanently");

<edit> ou encore le "moved blabla" préconisé par Ganf ci-dessus ;) </edit>

Lien vers le commentaire
Partager sur d’autres sites

Non, je ne pense pas du fait que le status était correctement renseigné ensuite.

Mais le mieux est à mon avis d'utiliser le CODE header("HTTP/1.1 301 Moved Permanently");

Ok j'ai fait les modifications ;-)

Lien vers le commentaire
Partager sur d’autres sites

Donc, pour ce qui est du php, ca donne :

header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.domaine.com");
exit();

ou

header("Moved Permanently", true, 301);
header("Location: http://www.domaine.com");
exit();

Lien vers le commentaire
Partager sur d’autres sites

Pour une discussion sur le RedirectPermanent, les infos sont là: http://www.webmaster-hub.com/index.php?showtopic=5340

En 2 mots, RedirectPermanent est surtout utilisé pour rediriger une arborescence vers la même arborescence sur un autre domaine ou répertoire.

Dans ton cas, Anonymus, tu rediriges une page vers un répertoire...

Lien vers le commentaire
Partager sur d’autres sites

Celle là donnait effectivement un Statut 301 correct. C'est celle dont je me sers pour faire les tests vu que j'ai mis la redirection en place moi-même.

Je sais donc comment elle est faite :)

Lien vers le commentaire
Partager sur d’autres sites

et j'utilises un script PHP perso :

http://www.sutekidane.net/labo/php/ping/

Pas mal comme outil, mais en faisant un ping "head" sur www.google.com, il sort un header 200 ... alors que l'analyseur d'entêtes du Hub montre bien les 2 redirections 302 ;)

Tu ne dois ressortir que le résultat de la dernière redirection je pense.

Lien vers le commentaire
Partager sur d’autres sites

Ca ne marche pas, chez moi. Ca donne des erreurs javascript.

Chez moi ça marchait ce matin, mais cela ne fonctionne plus non plus.

Une modif du code sans doute ?

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...