Fonction header location inopérante

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par johnny-57, 23 Mars 2008.

  1. johnny-57
    johnny-57 WRInaute occasionnel
    Inscrit:
    20 Avril 2007
    Messages:
    286
    J'aime reçus:
    0
    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 ;)
     
  2. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    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.
     
  3. johnny-57
    johnny-57 WRInaute occasionnel
    Inscrit:
    20 Avril 2007
    Messages:
    286
    J'aime reçus:
    0
    On obtient rien, c'est comme si le code n'était pas la, aucune erreur, mais la redirection ne ce fait pas.
    Par ailleurs ça fonctionnais très bien chez infomaniak.
     
  4. johnny-57
    johnny-57 WRInaute occasionnel
    Inscrit:
    20 Avril 2007
    Messages:
    286
    J'aime reçus:
    0
    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 ?
     
  5. Bool
    Bool WRInaute passionné
    Inscrit:
    26 Février 2004
    Messages:
    1 543
    J'aime reçus:
    0
    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 ;)
     
  6. johnny-57
    johnny-57 WRInaute occasionnel
    Inscrit:
    20 Avril 2007
    Messages:
    286
    J'aime reçus:
    0
    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.
     
  7. Bool
    Bool WRInaute passionné
    Inscrit:
    26 Février 2004
    Messages:
    1 543
    J'aime reçus:
    0
    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 ?
     
  8. johnny-57
    johnny-57 WRInaute occasionnel
    Inscrit:
    20 Avril 2007
    Messages:
    286
    J'aime reçus:
    0
    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.
     
  9. Bool
    Bool WRInaute passionné
    Inscrit:
    26 Février 2004
    Messages:
    1 543
    J'aime reçus:
    0
    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 :
    Code:
    if( $notAuthorized() )
    {
        header( 'blabla 403' );
        readfile( 'letemplatederreur.html' );
        exit;
    }
     
Chargement...
Similar Threads - Fonction header location Forum Date
Fonction Header marche pas sur un certain hebergeur.. Développement d'un site Web ou d'une appli mobile 24 Novembre 2008
Redirection header() en fonction de la valeur d'un cookie Développement d'un site Web ou d'une appli mobile 11 Juin 2008
Header pourquoi ça ne fonctionne pas ??? help ! Administration d'un site Web 2 Mai 2008
Changer le header en fonction de la page lu. Débuter en référencement 20 Avril 2006
Changer le header de son site en fonction de la date Développement d'un site Web ou d'une appli mobile 15 Avril 2006
Remplacer la fonction header Débuter en référencement 23 Septembre 2005
Problème fonction HEADER ! Administration d'un site Web 25 Mars 2005
la fonction header en php et la barre d'adresse Administration d'un site Web 12 Août 2004
fonction header Administration d'un site Web 30 Novembre 2003
Redirection php (fonction header) et indexation Administration d'un site Web 19 Août 2003
Adresse mail ne fonctionne plus après modif de DNS Noms de domaine et référencement 26 Mai 2022
Méthode qui fonctionne le mieux en référencement SEO Débuter en référencement 19 Avril 2022
Onclick Select ne fonctionne pas dans Chrome Développement d'un site Web ou d'une appli mobile 21 Mars 2022
Des adresses qui ne fonctionnent plus... Développement d'un site Web ou d'une appli mobile 6 Novembre 2021
fonctionnement précis outil suppression url search console Débuter en référencement 18 Octobre 2021
PHP / CURL : interrogation page tiers ne fonctionne plus Développement d'un site Web ou d'une appli mobile 2 Octobre 2021
ma redirection ne fonctionne pas URL Rewriting et .htaccess 18 Août 2021
url rewriting ne fonctionne pas chez moi URL Rewriting et .htaccess 4 Août 2021
mon code ne fonctionne pas pour masquer les .php URL Rewriting et .htaccess 31 Juillet 2021
htaccess qui fonctionne partout sauf sur 1 seul PC URL Rewriting et .htaccess 28 Juillet 2021