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

Apache Discussion :

Récupération de la valeur d'une variable dans un htaccess


Sujet :

Apache

  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 29
    Par défaut Récupération de la valeur d'une variable dans un htaccess
    Bonjour à tous,
    Voici maintenant plus d'une semaine que je galère pour pouvoir trouver une solution à mon problème. Je dois réaliser une réécriture d'URL en utilisant le fichier .htaccess. je dois donc transformer une URL du style : http://monsite.com/index.php?page=no...e&id_article=1 en http://monsite.com/nom_article tout en cachant l'affichage de id_article. La solution que j'ai trouvée est la suivante :

    Dans le index.php (c'est un exemple de test)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    apache_setenv('ID_ARTICLE',5);
    print_r($_GET);
    ?>
    Dans le .htaccess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^([a-zA-Z]+)$ index.php?page=$1&id_article=%{ID_ARTICLE} [L]
    Mais le résultat du print_r($_GET) me donne : Array([page] => nom_article [id_article] => ) ce qui signifie que %{ID_ARTICLE} retourne une chaine vide.
    La question que je pose maintenant c'est comment pourrais-je déclarer une variable en PHP et la récupérer dans le fichier .htaccess
    Merci

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Bonjour,

    La syntaxe pour utiliser une variable d'environnement avec mod_rewrite, c'est %{ENV:variable}, donc utiliser %{ENV:ID_ARTICLE} au lieu de %{ID_ARTICLE} seul.

    Ceci dit, je ne sais pas si ça marchera car le .htaccess est lu et interprété avant que PHP ne soit exécuté, donc a priori peu de chances que PHP envoie des infos à Apache pour le traitement des URL. Mais vu que la fonction existe, sûrement que c'est possible.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 29
    Par défaut
    Merci Mac, j'avais effectivement essayé auparavant l'utilisation de %{ENV:ID_ARTICLE} mais malheureusement ça me retourne toujours une chaine vide! Je ne sais vraiment comment procéder!!
    Please Help me!!!!

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Je pense que la fonction apache_setenv n'est pas prévue pour fonctionner comme tu le voudrais. Du peu qu'il y a sur le Web sur cette fonction (à savoir, pratiquement uniquement la doc PHP), apache_setenv est surtout utilisée avec les server side includes, concrètement une sorte d'appel à Apache après passage par le script PHP. Donc après que mode_rewrite ait fait son travail.

  5. #5
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 29
    Par défaut
    Merci beaucoup Mac pour tes explications, je crois que finalement je vais abandonner cette solution et penser à une autre!!

Discussions similaires

  1. Récupération de la valeur d'une variable dans une procédure
    Par guerzan22 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/06/2015, 12h26
  2. Récupération de la valeur d une variable elle même contenue dans une variable
    Par guiplongeur dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 16/03/2015, 16h23
  3. récupération de la valeur d'une variable dans instruction select
    Par nicole.altuzarra dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/01/2009, 12h07
  4. Valeur d'une variable dans une Session
    Par sysinfo33 dans le forum Struts 1
    Réponses: 4
    Dernier message: 30/06/2006, 11h53
  5. Réponses: 2
    Dernier message: 08/06/2006, 13h48

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