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 :

[URL rewriting] Problème ? et &


Sujet :

Apache

  1. #1
    Membre habitué Avatar de PoZZyX
    Inscrit en
    Août 2005
    Messages
    426
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 426
    Points : 154
    Points
    154
    Par défaut [URL rewriting] Problème ? et &
    Bonjour à toutes et à tous


    J'ai un petit problème avec mon rewrite url avec apache que je n'arrive pas à corriger.

    Mon but étant, a partir d'une url comme celle ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .com/PARAM1/PARAM2/PARAM3.php?MESSAGE
    d'arriver à quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .com/index.php?a=PARAM1&b=PARAM2&c=PARAM3&MESSAGE
    De cette façon message pourrait représenter une suite de paramètres variables selon mes appels.

    Pour le moment je suis arrivé jusqu'ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RewriteRule ^(.+)/(.+)/(.+).php?(.+)$ /index.php?a=$1&b=$2&c=$3&d=$4
    Mais j'ai deux problèmes :
    - le ? n'est pas apprécié, cela me génère une internal error, alors que si je le remplace par un caractère plus standard ça passe. J'ai essayé \? mais cela ne fonctionne pas mieux :S

    - Si mon MESSAGE est ....php?z=1&y=2, mon $_GET contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    array(5) {
      ["a"]=>
      string(6) "PARAM1"
      ["b"]=>
      string(2) "PARAM2"
      ["c"]=>
      string(4) "PARAM3"
      ["d"]=>
      string(8) "z=1"
      ["y"]=>
      string(2) "2"
    }
    donc cela fonctionne correctement jusqu'au &, mais ensuite il sépare, alors que je voudrais que $_GET["d"] = "z=1&y=2".

    Je ne sais pas si je suis compréhensible, en tout cas merci d'avance pour votre aide !!!

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    Oublie la partie ?(.*) dans ton RewriteRule qui ne sert strictement à rien vu que mod_rewrite n'utilise pas la query string par défaut dans les RewriteRule et ajoute juste QSA dans les crochets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(.+)/(.+)/(.+).php$ /index.php?a=$1&b=$2&c=$3 [QSA]
    Ca va ajouter la query string initiale à celle que tu calcules.

  3. #3
    Membre habitué Avatar de PoZZyX
    Inscrit en
    Août 2005
    Messages
    426
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 426
    Points : 154
    Points
    154
    Par défaut
    Une réponse encore meilleur que ce que j'aurais pu espérer, un délai record et un problème résolu, que demander de plus ?

    MERCI beaucoup !!!

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

Discussions similaires

  1. [URL Rewriting] Problème d'encodage
    Par cootchy dans le forum Apache
    Réponses: 1
    Dernier message: 29/08/2007, 11h00
  2. Réponses: 3
    Dernier message: 31/07/2007, 17h40
  3. [URL Rewriting] problème avec sous domaine
    Par Booyakha dans le forum Apache
    Réponses: 1
    Dernier message: 31/07/2007, 17h31
  4. URL Rewriting problème de regexp ?
    Par pierrickg dans le forum Apache
    Réponses: 2
    Dernier message: 10/07/2007, 14h35
  5. [URL Rewriting] Problème URL Rewriting -> CSS
    Par Cartman.inc dans le forum Apache
    Réponses: 8
    Dernier message: 23/04/2007, 15h29

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