Fonction header location inopérante
9 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Fonction header location inopérante
Bonjour,
J'ai un problème avec la fonction header location.
J'ai déplacé un site de chez infomaniak sur un rps ovh et du coup la fonction header location ne fonctionne plus.
J'ai fais une batterie de test y compris de faire un fichier php comportant uniquement ce code :
<?php
header( "Status: 403 request forbidden", false, 403);
header( "Location: http://mapage");
?>
aucun retour chariot avant <?php qui est collé en haut du fichier.
Je soupçonne un problème dans php.ini mais je n'arrive pas a trouver lequel
Si vous avez une idée je suis preneur
J'ai un problème avec la fonction header location.
J'ai déplacé un site de chez infomaniak sur un rps ovh et du coup la fonction header location ne fonctionne plus.
J'ai fais une batterie de test y compris de faire un fichier php comportant uniquement ce code :
<?php
header( "Status: 403 request forbidden", false, 403);
header( "Location: http://mapage");
?>
aucun retour chariot avant <?php qui est collé en haut du fichier.
Je soupçonne un problème dans php.ini mais je n'arrive pas a trouver lequel
Si vous avez une idée je suis preneur
Re: Fonction header location inopérante
johnny-57 a écrit:Bonjour,
J'ai un problème avec la fonction header location.
J'ai déplacé un site de chez infomaniak sur un rps ovh et du coup la fonction header location ne fonctionne plus.
J'ai fais une batterie de test y compris de faire un fichier php comportant uniquement ce code :
<?php
header( "Status: 403 request forbidden", false, 403);
header( "Location: http://mapage");
?>
aucun retour chariot avant <?php qui est collé en haut du fichier.
Je soupçonne un problème dans php.ini mais je n'arrive pas a trouver lequel
Si vous avez une idée je suis preneur
Ca aiderait certainement si tu nous disais ce que tu obtiens. En passant, je ne suis pas convaincu que Location et 403 fassent bon ménage, si? J'ai le sentiment que c'est réservé aux codes en 3xx, mais j'ai la flemme d'aller vérifier dans la RFC.
Jacques.
Bon,
J'ai quand même testé en enlevant "header( "Status: 403 Request Forbidden", false, 403);" du script et ça marche
Donc manifestement ça pose quand même un problème même si chez infomaniak ça fonctionnais.
En fait je pourrais bien m'en passer mais je voudrais pas avoir de problème avec google, je m'explique.
Je laisse les spiders acceder à du contenue réservé aux abonnées, donc je vérifie en tête de code l'hote du client connecté, si c'est un spider je laisse passer, si c'est pas un spider je vérifie si le client est connecté à un compte, si oui il passe si non on le redirige vers une page d'erreur.
En fait je voulais absolument mettre un entête dans la redirection en 403 ou 402 afin que si google passe par là de manière anonyme ^^' il comprenne pourquoi du coup il n'a pas accès à la même page que quand il se présente.
Comment faire alors si je ne peux utiliser le code 402 ou 403 dans status ?
J'ai quand même testé en enlevant "header( "Status: 403 Request Forbidden", false, 403);" du script et ça marche
Donc manifestement ça pose quand même un problème même si chez infomaniak ça fonctionnais.
En fait je pourrais bien m'en passer mais je voudrais pas avoir de problème avec google, je m'explique.
Je laisse les spiders acceder à du contenue réservé aux abonnées, donc je vérifie en tête de code l'hote du client connecté, si c'est un spider je laisse passer, si c'est pas un spider je vérifie si le client est connecté à un compte, si oui il passe si non on le redirige vers une page d'erreur.
En fait je voulais absolument mettre un entête dans la redirection en 403 ou 402 afin que si google passe par là de manière anonyme ^^' il comprenne pourquoi du coup il n'a pas accès à la même page que quand il se présente.
Comment faire alors si je ne peux utiliser le code 402 ou 403 dans status ?
Hello,
il me semble que la syntaxe "header( "Status: 403 request forbidden", false, 403);" est réservée à la version CGI de PHP. Regarde dans tes logs d'erreur Apache, mais tu obtiens peut être une erreur du genre "malformed header".
Dans tous les cas comme il a été dit, une redirection utilise un code de retour spécifique 3XX (301 et 302 généralement) ; tu ne peux pas faire de redirection sur une erreur 4XX.
Mais pourquoi ne pas afficher directement ta page d'erreur en cas d'erreur 403 ? C'est normalement le but de la chose
il me semble que la syntaxe "header( "Status: 403 request forbidden", false, 403);" est réservée à la version CGI de PHP. Regarde dans tes logs d'erreur Apache, mais tu obtiens peut être une erreur du genre "malformed header".
Dans tous les cas comme il a été dit, une redirection utilise un code de retour spécifique 3XX (301 et 302 généralement) ; tu ne peux pas faire de redirection sur une erreur 4XX.
Mais pourquoi ne pas afficher directement ta page d'erreur en cas d'erreur 403 ? C'est normalement le but de la chose
Ben c'est ce que je fais, j'utilise header location pour renvoyer vers une page d'erreur personnalisée.
Et je n'ai aucune erreur à l'écran, juste une page vide de tout code html.
Et j'ai peur de finir en blackliste si google passe de manière anonyme et est redirigé vers la page d'erreur sans l'entête http qui va avec.
Et je n'ai aucune erreur à l'écran, juste une page vide de tout code html.
Et j'ai peur de finir en blackliste si google passe de manière anonyme et est redirigé vers la page d'erreur sans l'entête http qui va avec.
Mais pourquoi diable veux tu "renvoyer vers une page d'erreur" plutôt qu'envoyer directement cette page d'erreur ?
Une erreur 4XX ou 5XX, c'est sensé afficher une erreur, pas faire une redirection, pourquoi tu ne le fais pas ?
Une erreur 4XX ou 5XX, c'est sensé afficher une erreur, pas faire une redirection, pourquoi tu ne le fais pas ?
Ben parce que ma page qui fait la redirection n'est pas une page d'erreur.
J'ai une page a contenue reservé aux abonnées, qui payent pour avoir accès aux informations.
Cette page j'autorise les moteurs à l'indexer sans mise en cache, donc :
Quand la page de contenue est appelée je test si c'est un spider,
si oui affichage de la page,
si non verification du statue de connexion,
si c'est un abonné j'affiche la page
si non je renvoie vers une page qui annonce que c'est un contenue reservé aux abonnés et qui propose l'abonnement.
Pour que google ne me prenne pas en grippe si il passe de manière anonymé par une de ses pages je dit bien que c'est une redirection mais en 402 donc il comprendra qu'il ne peut pas y acceder.
Sauf si j'ai pas tout compris je ne vois pas comment faire d'autre.
J'ai une page a contenue reservé aux abonnées, qui payent pour avoir accès aux informations.
Cette page j'autorise les moteurs à l'indexer sans mise en cache, donc :
Quand la page de contenue est appelée je test si c'est un spider,
si oui affichage de la page,
si non verification du statue de connexion,
si c'est un abonné j'affiche la page
si non je renvoie vers une page qui annonce que c'est un contenue reservé aux abonnés et qui propose l'abonnement.
Pour que google ne me prenne pas en grippe si il passe de manière anonymé par une de ses pages je dit bien que c'est une redirection mais en 402 donc il comprendra qu'il ne peut pas y acceder.
Sauf si j'ai pas tout compris je ne vois pas comment faire d'autre.
On va la refaire : un code d'erreur 403 ou 404 ou n'importe quel type d'erreur n'est jamais envoyé "seul", il y a toujours un message qui suit pour expliquer l'erreur. Mais tout ça, c'est dans la même requete HTTP.
En PHP ça pourrait donner :
En PHP ça pourrait donner :
- Code: Tout sélectionner
if( $notAuthorized() )
{
header( 'blabla 403' );
readfile( 'letemplatederreur.html' );
exit;
}
9 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... 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
- Google teste la recherche locale (Google Search by Location)
- Incidence du PHP sur le référencement
- Calculer l'indice de co-occurrence et le ratio E/F
- Tutorial Google Maps API
- Tutoriel complet sur les redirections (301, 302, JavaScript, ...)
- Comment créer une page web en PHP
- Le référencement de pages PHP
- Prise en compte du singulier et du pluriel par les moteurs de recherche
- Header Location
- header("Location: xxx") + header("Status: HTT
- Header location et référencement
- header("Location ou 301 moved ?
- redierction php : header location ou require ?
- [AJAX] Comment gérer les header('location:..');
- header Location et parametre d'url et param dans variable
- Le PageRank est il retransmis avec Header location en php ?
- fonction header
- Remplacer la fonction header
- Problème fonction HEADER !
Consultez la description détaillée des produits ou services de Google suivants : Google Related Links
- Test HTTP header
Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée. - Test de lien (type 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).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité




le forum