Header renvoie 302 au lieu de 404 ou alors ne redirige pas

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

sgaze
WRInaute passionné
WRInaute passionné
 
Messages: 538
Inscription: Lun Fév 02, 2004 16:54

Header renvoie 302 au lieu de 404 ou alors ne redirige pas

Message le Dim Oct 09, 2005 12:42

Bonjour,

En fonction de certains critères (article non trouvé dans la bdd etc...) je fais une redirection vers ma page d'erreur en utilisant :

Code: Tout sélectionner
header("Location: http://www.mondomaine.com/page-erreur-404.html", true, 404);


Voilà ce que m'indique l'outil des en-têtes http de wri :

HTTP/1.1 404 Not Found
Date: Sun, 09 Oct 2005 11:31:40 GMT
Server: Apache/1.3.33 (Unix) mod_throttle/3.1.2 PH
P/4.3.11
X-Powered-By: PHP/4.3.11
Set-Cookie: phpbb2mysql_data=a%3A0%3A%7B%7D; expir
es=Mon, 09 Oct 2006 11:31:40 GMT; path=/
Set-Cookie: phpbb2mysql_sid=d8ab83d210135bb9c38873
4abd385113; path=/
Location: http://www.mondomaine.com/page-erreur-
404.html

Connection: close
Content-Type: text/html


Cela me semble parfaitement correct par rapport à ce que j'attends mais pourtant la redirection ne se fait pas : la page affichée reste celle dans lequelle est appelé le code ci-dessus. Vous connaissez ce dysfonctionnement ?
Dernière édition par sgaze le Dim Oct 09, 2005 13:54, édité 1 fois.


dmathieu
Modérateur
Modérateur
 
Messages: 6929
Inscription: Ven Jan 09, 2004 16:21

Message le Dim Oct 09, 2005 12:44

Code: Tout sélectionner
header("Status: 404 Not Found", false, 404);
header("Location: http://www.mondomaine.com/page-erreur-404.html");

essaye plutot comme cela ;)

sgaze
WRInaute passionné
WRInaute passionné
 
Messages: 538
Inscription: Lun Fév 02, 2004 16:54

Message le Dim Oct 09, 2005 12:52

Merci.

J'ai testé, ça redirige bien mais ça me renvoie ça :

HTTP/1.1 302 Found
Date: Sun, 09 Oct 2005 11:49:50 GMT
Server: Apache/1.3.33 (Unix) mod_throttle/3.1.2 PH
P/4.3.11
X-Powered-By: PHP/4.3.11
Status: 404 Not Found
Location: http://www.agadez-niger.com/page-erreur-
404.html
Connection: close
Content-Type: text/html


Je n'ai jamais réussi à avoir la redirection et le code 404 en même temps (je suis chez celeo...)

sgaze
WRInaute passionné
WRInaute passionné
 
Messages: 538
Inscription: Lun Fév 02, 2004 16:54

Message le Dim Oct 09, 2005 13:40

D'ailleurs KaZhaR, ta redirection vers ta page d'accueil (site de ton www) en cas d'article ou news non trouvé renvoie aussi 302 (d'après l'outil de wri)

Sans vouloir focaliser sur ton site en particulier, est-ce voulu ? Sinon le problème serait global. Mauvais les remises en question le dimanche...
Dernière édition par sgaze le Lun Oct 10, 2005 6:35, édité 1 fois.

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Dim Oct 09, 2005 13:54

Une config du fichier .htaccess ( apache ) n'est pas possible ?
Code: Tout sélectionner
ErrorDocument  404  /mapage.php


Code: Tout sélectionner
ErrorDocument  code-erreur  fichier


a toi de générer un code erreur ( 404 ou autre ) dans ton code php

sgaze
WRInaute passionné
WRInaute passionné
 
Messages: 538
Inscription: Lun Fév 02, 2004 16:54

Message le Dim Oct 09, 2005 13:58

J'ai aussi une redirection 404 dans le .htaccess pour les cas de base. Elle fonctionne bien.

Mais elle ne permet pas de traiter ce genre de cas :
rediriger page.php?idarticle=valeur vers erreur-404.php avec un code http 404 si valeur ne convient pas


dmathieu
Modérateur
Modérateur
 
Messages: 6929
Inscription: Ven Jan 09, 2004 16:21

Message le Dim Oct 09, 2005 14:15

pour ma redirection chez moi, oui, c'est voulu.

champignac
WRInaute discret
WRInaute discret
 
Messages: 55
Inscription: Ven Déc 13, 2002 15:33

Coucou

Message le Dim Oct 09, 2005 17:13

Je ne sais pas si ca marcheras dans ton cas mais place le code suivant:
Code: Tout sélectionner
// encode redirection 301
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.mondomaine.com/page-erreur-404.html");
header("Connection: close\r\n");



Et ensuite dans ta page http://www.mondomaine.com/page-erreur-404.html

Code: Tout sélectionner
// page 404 en erreur
header("Status: 404 Not Found", false, 404);
header("Connection: close\r\n");


:lol:

Ps: edit pas reussi a virer les url dans le post dsl :(
edit2: en fait si plus de url bidon :)
Dernière édition par champignac le Ven Oct 14, 2005 16:23, édité 1 fois.


dmathieu
Modérateur
Modérateur
 
Messages: 6929
Inscription: Ven Jan 09, 2004 16:21

Message le Dim Oct 09, 2005 19:08

ce n'est pas cela qu'il cherche à faire champignac
il désire déclarer une page en tant que page 404, et rediriger vers une autre.
mais, en y réfléchissant bien, il semblerait logique que ce ne soit pas faisable.

une page 404 signifie que la page n'existe pas, pas qu'elle est redirigée.
pour signifier une redirection, on utilise des erreurs 301 ou 302.
donc, il est tout à fait possible que ce ne soit pas faisable.

et pour virer les url, mets ton code entre [code ] et [/code ] sans les espaces ;)

champignac
WRInaute discret
WRInaute discret
 
Messages: 55
Inscription: Ven Déc 13, 2002 15:33

Message le Ven Oct 14, 2005 16:23

effectivement KaZhaR tu as raison ce n est pas possible par la norme http.

La seule solution dans ce cas est de rediriger vers la page voulue apres le 404 par une redirection javascript.

Sachant que google ne la suivra pas.

( merci pour tips des codes :) )


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


cron