comment faire une redirection avec un header 404 ?
14 messages • Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
-

loupetiart - WRInaute occasionnel

- Messages: 169
- Inscription: Jeu Mai 29, 2003 12:23
comment faire une redirection avec un header 404 ?
Bonjour,
je veux faire une redirection qui renvoi un code d'erreur 404,
j'ai testé celà:
puis celà dans la page 404:
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...
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 occasionnel

- Messages: 169
- Inscription: Jeu Mai 29, 2003 12:23
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 occasionnel

- Messages: 169
- Inscription: Jeu Mai 29, 2003 12:23
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...
mais la il me renvoi un code 302 pis un code 200 (evidemment) , c pas une redirectin que je veux faire...
-

loupetiart - WRInaute occasionnel

- Messages: 169
- Inscription: Jeu Mai 29, 2003 12:23
GET /pageinvalide/ HTTP/1.1
HTTP/1.x 302 OK
GET /erreur-404/ HTTP/1.1
HTTP/1.x 200 OK
HTTP/1.x 302 OK
GET /erreur-404/ HTTP/1.1
HTTP/1.x 200 OK
- champignac
- WRInaute discret

- Messages: 55
- Inscription: Ven Déc 13, 2002 15:33
essaie avec header("HTTP/1.0 404 Not Found");
puis
header("Connection: close");
dans ta page 404.html
puis
header("Connection: close");
dans ta page 404.html
-

loupetiart - WRInaute occasionnel

- Messages: 169
- Inscription: Jeu Mai 29, 2003 12:23
celà ne marche pas !
vous connaissez pas une doc des headers ?
vous connaissez pas une doc des headers ?
-

loupetiart - WRInaute occasionnel

- Messages: 169
- Inscription: Jeu Mai 29, 2003 12:23
g pas trouvé de réponse dans la rfc 1945...
-

loupetiart - WRInaute occasionnel

- Messages: 169
- Inscription: Jeu Mai 29, 2003 12:23
faut trouver une solution ! 
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 occasionnel

- Messages: 169
- Inscription: Jeu Mai 29, 2003 12:23
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 ?
ç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 impliqué

- Messages: 287
- Inscription: Mar Avr 22, 2003 14:00
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
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
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 ?
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 ?
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 ?
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 passionné

- Messages: 659
- Inscription: Mar Jan 11, 2005 10:08
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 :
et c'est tout
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
14 messages • Page 1 sur 1
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 :
- Gérer l'entête HTTP en PHP
- Aperçu des différents types de redirection
- Optimiser ses codes HTTP pour le référencement
- Redirection (PHP, JavaScript, serveur...)
- Tutoriel complet sur les redirections (301, 302, JavaScript, ...)
- A propos des redirections sauvages (302)
- X-Robots-Tag : directive pour bloquer les robots dans l'entête HTTP : explications
- Référencement : gestion des redirections par Yahoo
- Votre site doit toujours être accessible rapidement : conseil n°7 en référencement
- Incidence du PHP sur le référencement
- Test de redirection
Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs). - Analyseur d'entête HTTP
Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

le forum