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

WRInaute occasionnel
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:
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 ?
 
WRInaute accro
Code:
header("Status: 404 Not Found", false, 404);
header("Location: http://www.mondomaine.com/page-erreur-404.html");
essaye plutot comme cela ;)
 
WRInaute occasionnel
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...)
 
WRInaute occasionnel
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...
 
WRInaute passionné
Une config du fichier .htaccess ( apache ) n'est pas possible ?
Code:
ErrorDocument  404  /mapage.php

Code:
ErrorDocument  code-erreur  fichier

a toi de générer un code erreur ( 404 ou autre ) dans ton code php
 
WRInaute occasionnel
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
 
Nouveau WRInaute
Coucou

Je ne sais pas si ca marcheras dans ton cas mais place le code suivant:
Code:
// 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:
// 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 :)
 
WRInaute accro
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 ;)
 
Nouveau WRInaute
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 :) )
 
Discussions similaires
Haut