PB redirection php header(Location: erreur.php?erreur=404)
14 messages • Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
PB redirection php header(Location: erreur.php?erreur=404)
Bonjour à tous,
Après mes recherches sur le forum, je n'ai pas trouvé de soluce adéquate à mon problème.
J'explique:
Le site utilise de l'url rewriting du type
example.com/module/item.html vers example.com?module=module&item=item
Jusque là tout va bien. Ensuite, je teste dans ma base de données si le module demandé dans l'url est valide.
Si le module demandé dans l'url n'est plus valide, je fais une redirection comme ceci:
je suis bien redirigé vers ma page mais le header que je reçois ressemble à ceci:
Le header donne un HTTP/1.1 302 et après un status 404.
Est-ce correct?
Je ne devrais pas plutôt avoir directement un header HTTP/1.1 404 ???
le quel est pris en compte par Google?
Les moteurs mettront-ils leur index à jour correctement?
je suis perplexe...
Merci de votre aide
Après mes recherches sur le forum, je n'ai pas trouvé de soluce adéquate à mon problème.
J'explique:
Le site utilise de l'url rewriting du type
example.com/module/item.html vers example.com?module=module&item=item
Jusque là tout va bien. Ensuite, je teste dans ma base de données si le module demandé dans l'url est valide.
Si le module demandé dans l'url n'est plus valide, je fais une redirection comme ceci:
- Code: Tout sélectionner
header("Status : 404 Not Found");
header("Location: http://www.example.com/errrors/error.php?error=404");
je suis bien redirigé vers ma page mais le header que je reçois ressemble à ceci:
- Code: Tout sélectionner
HTTP/1.1 302 Found
Date: Fri, 02 Dec 2005 21:40:04 GMT
Server: Apache/2.0.53 (Fedora)
X-Powered-By: PHP/4.3.11
Set-Cookie: PHPSESSID=890d179477f97bd823ddd9852e9d
4ed8; path=/
Expires: Mon, 29 Sept 2005 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Last-Modified: Fri, 02 Dec 2005 21:40:04 GMT
Cache-Control: post-check=0, pre-check=0
Status : 404 Not Found
Location: http://www.example.com/errors/error.php?error=404
Content-Length: 16
Connection: close
Content-Type: text/html; charset=ISO-8859-1
Le header donne un HTTP/1.1 302 et après un status 404.
Est-ce correct?
Je ne devrais pas plutôt avoir directement un header HTTP/1.1 404 ???
le quel est pris en compte par Google?
Les moteurs mettront-ils leur index à jour correctement?
je suis perplexe...
Merci de votre aide
- Code: Tout sélectionner
header("HTTP/1.1 404 Not found");
header("Status: 404 Not found");
Essaye avec ca ?
ajoute :
dans la première ligne de ton fichier error.php ça devrai regler le problème
- Code: Tout sélectionner
<?header("HTTP/1.1 404 ");?>
dans la première ligne de ton fichier error.php ça devrai regler le problème
mon fichier error a un header adéquat.
le problème vient du fichier qui contrôle la validité de l'url et redirige vers le fichier d'erreur si nécessaire...
tu penses aussi que le "double status 302 et 404" est préjudiciable?
le problème vient du fichier qui contrôle la validité de l'url et redirige vers le fichier d'erreur si nécessaire...
tu penses aussi que le "double status 302 et 404" est préjudiciable?
je ne sais pas comment t'a fait pour ta redirection mais normalement tan que tu n'a pas decider ci le module est valide ou pas tu ne dois faire aucun appel à header (ni à aucune fonction qui genère un output).
il n'ya pas de raison d'avoir une entete 302 avec un status 404
ceci dit, je ne crois pas que ça poserai problème pour google
il n'ya pas de raison d'avoir une entete 302 avec un status 404
ceci dit, je ne crois pas que ça poserai problème pour google
aladdin a écrit:ceci dit, je ne crois pas que ça poserai problème pour google
ça c'est plutôt rassurant....
en fait, pour expliquer le principe, je n'envoie effectivement aucun header avant de vérifier la validité du module.
si il est pas valide je renvoie le header décrit plus haut, sinon, je continue...
c'est pourquoi je comprends pas d'où sort ce 302....
finalement, la page reçue par le visiteur/bot a un header 302, et un status:404...
finalement, la question à se poser est:
GG prend-il en compte l'annonce HTTP1/1 302 ou l'annonce "status:401"???
juste?
qui a une réponse? ou un site qui m'explique la différence entre la réponse header de la première ligne et le header status...
bon ceci, dit, je vais vérifier mes scripts pour m'assurer qu'aucu header n'est envoyé avant le contrôle de validité du module... c'est peut-être la source du problême... mais las à 1h24 du mat, il faut reposer mes yeux.
a demain et merci de votre aide à tous
a demain et merci de votre aide à tous
C´est logique, puisque la fonction header avec Location: renvoie un code 302... Ce qu´il faut c´est faire une modification de header et faire un include, pas un header Location:. Ou alors, modifier les headers des deux pages.
- profcontact
- Nouveau WRInaute
- Messages: 1
- Inscription: Mer Mar 07, 2007 17:20
Pour résoudre ce probléme il faut que la page sur laquelle est renvoyée l'erreur 404 renvoi elle même un code 404
Pour cela rajoute en tout début de fichier php la ligne suivante:
<?php
header( "Status: 404 Moved Permanently", false, 404);
suite du code....
?>
tu trouveras dans l'entête de la page Status: 404 Moved Permanently qui est la chaine texte saisie. Mais tu aurais pu mettre toto n'est plus ici ou n'importe quoi d'autre.
Mais ce qui te posait problème c'est que tu ne spécifiais pas le code de réponse http. C'est l'intérêt du 404 à la fin du header !
Voilà. C'est tout.
Pour cela rajoute en tout début de fichier php la ligne suivante:
<?php
header( "Status: 404 Moved Permanently", false, 404);
suite du code....
?>
tu trouveras dans l'entête de la page Status: 404 Moved Permanently qui est la chaine texte saisie. Mais tu aurais pu mettre toto n'est plus ici ou n'importe quoi d'autre.
Mais ce qui te posait problème c'est que tu ne spécifiais pas le code de réponse http. C'est l'intérêt du 404 à la fin du header !
Voilà. C'est tout.
14 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
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
- Votre site doit toujours être accessible rapidement : conseil n°7 en référencement
- Optimiser ses codes HTTP pour le référencement
- Tutoriel complet sur les redirections (301, 302, JavaScript, ...)
- Article sur le fichier .htaccess
- Un moyen très simple et gratuit d'obtenir des backlinks
- Liste d'erreurs classiques de duplicate content
- Redirection (PHP, JavaScript, serveur...)
- A propos des redirections sauvages (302)
- [PHP] Erreur dans le header !
- Erreur 404 en php
- Erreur 404 et adresse erronée (PHP et htaccess)
- Script PHP renvoyant une erreur 404
- [RESOLUE]Erreur 404 avec un script php de miniature d'image
- envoyer une erreur 404 apres avoir généré le header
- redirection erreur fichier .php
- redierction php : header location ou require ?
- Le PageRank est il retransmis avec Header location en php ?
- Erreur 404 et redirection
- robot, erreur 404 et redirection
- Redirection avec header() de PHP
- Redirection 301 par header PHP
- redirection par php header 301
- Redirection php (fonction header) et indexation
- 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