comment faire une redirection avec un header 404 ?

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

loupetiart
WRInaute discret
WRInaute discret
 
Messages: 169
Enregistré le: 29 Mai 2003

comment faire une redirection avec un header 404 ?

Message le Sam Aoû 30, 2003 12:19

Bonjour,
je veux faire une redirection qui renvoi un code d'erreur 404,

j'ai testé celà:
Code: Tout sélectionner
header("Location: http://www.xxxx.org/erreur-404/,404");


puis celà dans la page 404:
Code: Tout sélectionner
header('HTTP/1.0 404 Not Found');


celà me renvoi toujours un code 200, comment dois-je my prendre ?
je voudrai que ça me renvoi exactement un code 404 Not Found comme dans le cas d'une veritable erreur 404...

loupetiart
WRInaute discret
WRInaute discret
 
Messages: 169
Enregistré le: 29 Mai 2003

Message le Sam Aoû 30, 2003 12:37

ah joubliai de demander si l'ajout du header status:404 not found est pris en compte même si le veritable code de reponse est 200 Ok ?

loupetiart
WRInaute discret
WRInaute discret
 
Messages: 169
Enregistré le: 29 Mai 2003

Message le Sam Aoû 30, 2003 12:43

je voudria en quelque sorte emuler la fonction ErrorDocument 404 d'apache en php avec les headers...

mais la il me renvoi un code 302 pis un code 200 (evidemment) , c pas une redirectin que je veux faire...

loupetiart
WRInaute discret
WRInaute discret
 
Messages: 169
Enregistré le: 29 Mai 2003

Message le Sam Aoû 30, 2003 12:46

GET /pageinvalide/ HTTP/1.1
HTTP/1.x 302 OK

GET /erreur-404/ HTTP/1.1
HTTP/1.x 200 OK

champignac
WRInaute discret
WRInaute discret
 
Messages: 55
Enregistré le: 13 Déc 2002

Message le Sam Aoû 30, 2003 18:36

essaie avec header("HTTP/1.0 404 Not Found");
puis
header("Connection: close");

dans ta page 404.html

loupetiart
WRInaute discret
WRInaute discret
 
Messages: 169
Enregistré le: 29 Mai 2003

Message le Dim Aoû 31, 2003 18:26

celà ne marche pas !
vous connaissez pas une doc des headers ?

loupetiart
WRInaute discret
WRInaute discret
 
Messages: 169
Enregistré le: 29 Mai 2003

Message le Dim Aoû 31, 2003 19:07

g pas trouvé de réponse dans la rfc 1945...

loupetiart
WRInaute discret
WRInaute discret
 
Messages: 169
Enregistré le: 29 Mai 2003

Message le Lun Sep 01, 2003 8:41

faut trouver une solution ! :(

Mirgolth
WRInaute impliqué
WRInaute impliqué
 
Messages: 622
Enregistré le: 14 Oct 2002

Message le Lun Sep 01, 2003 9:26

loupetiart a écrit:faut trouver une solution ! :(

Perso, j'aurais fait ça:
Code: Tout sélectionner
<?php
header("Status: 404 Not Found");
header("Location: http://www.votresite.com/unepage.htm");
exit();
?>

Mirgolth

loupetiart
WRInaute discret
WRInaute discret
 
Messages: 169
Enregistré le: 29 Mai 2003

Message le Mer Oct 01, 2003 18:29

en faisant ça,
ça renvoi une erreur 404 sans afficher la page,

alors j'ai fait une redirection vers la page erreur-404 qui renvoi elle même une erreur 404

redirection vers erreur 404 je suppose que c'est consideré comme une erreur 404,

confirmation ?

Tchinkatchuk
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 291
Enregistré le: 22 Avr 2003

Message le Jeu Sep 01, 2005 10:05

Pour ma part, cela renvoie un 200 donc c'est pas bon du tout.

je n'arrive vraiment pas à trouver le moyen de faire cela :

une ancien page (un objet) que google recrawl et tombe sur une 404 si l'objet n'existe plus

rebouloup
WRInaute discret
WRInaute discret
 
Messages: 195
Enregistré le: 8 Juin 2004

Message le Sam Juin 14, 2008 0:42

Je relance le sujet car je cherche une solution claire et propre au probleme posé ici.

Sur la dernière solution de "loupetiart" :
2 requetes 404 sont envoyées au client, et ca ne me parait pas satisfaisant

Est-il possible de simuler une page 404 parfaitement sur une page intermédiaire existante sans avoir à réinventer la poudre ?

rebouloup
WRInaute discret
WRInaute discret
 
Messages: 195
Enregistré le: 8 Juin 2004

Message le Sam Juin 14, 2008 1:02

J'ai cette idée : à confirmer si elle est bonne ... ?

1 - J'appelle une page inexistante sur mon serveur. Par ex. : bidule.html
pour récupérer le source html généré par Apache que je copie

2 - Je créé mon source qui va simuler l'erreur à l'identique d'apache.
Dans un premier temps, le source renvoie (comme propose "loupetiart") l'erreur 404 en php :

<?php header("HTTP/1.1 404 Not Found"); ?>
ou <?php header("Status: 404 Not Found"); ?>

3 - Puis reproduis le contenu html copié
(en gérant dynamiquement les 2,3 éléments qui peuvent se modifier)

L'intérêt d'une telle procedure est de cacher des pages d'un système sécurisé et éviter l'incitation à la curiosité malveillante.

Y a t-il donc une faille à cette proposition ?

skippyzrnr
WRInaute impliqué
WRInaute impliqué
 
Messages: 666
Enregistré le: 11 Jan 2005

Message le Mar Déc 23, 2008 14:58

La solution c'est d'envoyer un header 404 et d'afficher le contenu de la page d'erreur ensuite... Si derrière le header vous faites une redirection avec "location", c'est la réponse 200 de la page de redirection qui sera renvoyée
Il faut faire :

Code: Tout sélectionner
header("HTTP/1.1 404 Not Found");
echo file_get_contents("lapage404.php");
exit;


et c'est tout ;)


LeMulotNocturne
WRInaute impliqué
WRInaute impliqué
 
Messages: 694
Enregistré le: 1 Juin 2005

Re: comment faire une redirection avec un header 404 ?

Message le Jeu Oct 11, 2012 12:47

magnifique, 4 ans après ce post vient de me servir !
Merci skippyzrnr ;)

skippyzrnr
WRInaute impliqué
WRInaute impliqué
 
Messages: 666
Enregistré le: 11 Jan 2005

Re: comment faire une redirection avec un header 404 ?

Message le Ven Oct 12, 2012 16:14

Il n'est jamais trop tard pour rendre service

libado54
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 28
Enregistré le: 17 Jan 2003

Re: comment faire une redirection avec un header 404 ?

Message le Mar Sep 27, 2016 13:48

et encore 4 ans plus tard, ca vient de me servir! Merci!


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 les experts Google Analytics de Ranking Metrics.

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

Lectures recommandées sur ce thème :