IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

La variable $_SERVER['SCRIPT_URI'] ne renvoie rien


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 13
    Points
    13
    Par défaut La variable $_SERVER['SCRIPT_URI'] ne renvoie rien
    Bonjour à tous !
    Désolé si je poste au mauvais endroit ( et c'est fort probable, je m'en excuse par avance ).
    J'ai monté un serveur pour une association, tout fonctionne dessus, à savoir Apache, php, etc... ( sous debian etch )
    Oui mais voilà, la variable $_SERVER['SCRIPT_URI'] ne fonctionne pas !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_SERVER['SCRIPT_URI'];
    N'affiche rien (il n'y a qu'à tester, c'est tout en haut de la première page ! www.againfm.fr.nf !).
    Je n'ai strictement aucune idée de comment résoudre ce problème... Rien n'est mentionné dans la config PHP...
    http://www.againfm.fr.nf/résolu!

    Merci d'avance.
    Ma-xou.
    ( et encore désolé pour le post au mauvais endroit ! >_< )

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Salut,

    Les serveurs n'implémentent pas tous les variables de $_SERVER. Et je t'avoue que je ne connaissais pas $_SERVER['SCRIPT_URI']. Sur deux serveurs Apache 2.2, mod_php et cgi, script_uri n'est pas présent

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 13
    Points
    13
    Par défaut
    J'ai pris l'habitude d'utiliser cette variable, parfois pour des questions de sécurité...
    De plus on a un problème:
    http://www.puissance-web.fr.nf ne redirige pas vers le bon dossier, si on le prend comme un sous domaine ça marche, donc http://puissance-web.fr.nf fonctionne.
    Donc sur AgainFM je voulais mettre le script suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($_SERVER['SCRIPT_URI'] == 'http://www.puissance-web.fr.nf') { header('Location: http://puissance-web.fr.nf'); }
    Mais vu que la variable n'existe pas, ça marche pas...

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    C'est l'inverse, example.com est le domaine et www.example.com est un sous-domaine.
    Bon, ça, ça se règle dans les options d'apache, si tu y as accès.
    Par contre, tu ne peux pas utiliser SCRIPT_FILENAME ou SCRIPT_NAME ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 13
    Points
    13
    Par défaut
    Euh non, impossible que ça soit l'inverse.. xD Sinon j'ai pas d'explication pour que ça marche pas...
    Les variables que tu m'as donné renvoient un chemin, pas un domaine.
    J'ai fait ce que je voulais grâce à la variable $_SERVER['HTTP_HOST'] .
    Oui j'ai bien tous les droits sur apache et donc par conséquent je sais que ça ne fonctionne pas avec le www. Bref ! J'ai réussi à faire ce que je voulais finalement. Merci de votre aide

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Désolé pour tes problèmes (que je n'ai pas compris d'ailleurs), mais je confirme, je réaffirme qu'un domaine est bel et bien de la forme domaine.tld , et tout ce qui vient avant cela, que ce soit www.domaine.tld, sous-dom.domaine.tld, blahblah.domaine.tld sont des sous-domaines.
    Tu n'as donc pas accès au domaine en tapant le www ?
    Dans la config d'Apache, tu dois avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ServerName example.com
    ServerAlias www.example.com
    ServerAlias blahblah.example.com
    DocumentRoot /var/www/example/public_html
    De cette façon, example, www et blahblah redirigent tous vers public_html.

  7. #7
    Membre habitué Avatar de Dionyzos
    Homme Profil pro
    Développeur & Designer Web
    Inscrit en
    Février 2004
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur & Designer Web

    Informations forums :
    Inscription : Février 2004
    Messages : 134
    Points : 156
    Points
    156
    Par défaut
    Bonjour,

    Je me permets de faire remonter le sujet malgré le fait qu'il soit marqué "Résolu" dans la mesure où j'ai exactement le même problème que Ma-xou, à la différence que je ne souhaite pas le contourner en utilisant une autre variable que $_SERVER['SCRIPT_URI']

    Donc, pour reprendre le problème, j'ai un serveur Apache/PHP5, et lorsque j'appelle la fameuse variable, rien n'est retourné. Et je l'utilise beaucoup dans mon code.

    Sur mon ancien serveur (Apache/PHP4), elle était bien présente ; j'ai donc comparé les deux php.ini mais je n'ai pas trouvé ce qui causait cette différence

    J'ai même fait dans mon code un : et elle n'apparait même pas dans les variables de la super globale.

    Si quelqu'un sait comment faire en sorte qu'elle soit présente, je suis preneur.
    Et là on pourra dire que le problème soulevé est vraiment résolu

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    C'est le module de réécriture qui la définit donc SCRIPT_URI ne sera présente que sous condition qu'il soit actif (RewriteEngine On) :
    SCRIPT_URI always was just a mod_rewrite thing because prior to a powerful rewriting engine there was no real need for such a variable. It isn't a standardized CGI/1.1 variable. And it is and always was only set when the rewriting engine is _enabled_. So I expect the user now has disabled the rewriting engine and thus SCRIPT_URI went away...
    (de manière globale, c'est-à-dire au niveau du serveur - virtual host - apparemment et non locale : un .htaccess, par exemple, ne serait pas suffisant)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. $_SERVER["QUERY_STRING"] avec POST ne renvoie rien !
    Par belocom dans le forum Langage
    Réponses: 5
    Dernier message: 12/10/2007, 21h02
  2. Ma requête ne me renvoie rien
    Par dessinateurttuyen dans le forum Langage SQL
    Réponses: 8
    Dernier message: 24/07/2006, 17h42
  3. Réponses: 7
    Dernier message: 27/05/2006, 01h23
  4. [Sécurité] Peut on créer une variable $_SERVER
    Par Cr@zyDeep dans le forum Langage
    Réponses: 6
    Dernier message: 12/05/2006, 09h27
  5. [SQL-Server] mssql_query ne renvoie rien !
    Par Sophy75 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 06/04/2006, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo