Recuperation valeur apres le ?

Nouveau WRInaute
Bonjour,
je souhaite recuperer une valeur qui se situe apres le ?
exemple
RewriteRule ([^-]*)-titi-([^-]*)\.html toto.php?id=$2 [L]
ici je recupere bien ma 2emm valeur par contre
RewriteRule ([^-]*)-titi-([^-]*)\.html?valeur_a_recup toto.php?id=$2&recup=$3 [L]
comment recuperer la valeur 3 qui se trouve apres mon ?

Merci

Franck
 
WRInaute impliqué
Le mod_rewrite ne peut pas modifier les Query String (après le ?).
Mais tu peux mettre le drapeau [QSA] Query string append, pour transmettre ces variables à l´URI rewrité...
 
WRInaute occasionnel
Si tu veux juste ajouter la query string existante à tes variables forgées par toi-même, alors l'option QSA fera l'affaire, si par contre tu veux récupérer le contenu de la query string pour l'adapter, voila la procédure à suivre :

Il faut utiliser, avant la règle, un RewriteCond sur %{QUERY_STRING} en mettant entre parenthèses la partie que tu veux récupérer, et dans la RewriteRule juste après, tu pourras récupérer le contenu de la parenthèse dans %1 (puis %2 si deux groupes de parenthèses, etc..)

Par exemple:
ton url : -http://www.example.com/index.php?page=5
tu veux récupérer le numéro de page pour la rewrite rule et faire
-http://www.exemple.com/page5.html
(c'est un exemple, hein... faudra adapter)

ça donne :
Code:
RewriteCond %{QUERY_STRING} page=(\d+)
RewriteRule ^.*$ page%1.html

Après, faut voir à adapter à ton besoin exact mais n'en sachant pas plus, je ne pourrais pas aider plus :)
(et n'ayant pas Internet chez moi pour cause de déménagement, je ne risque pas de reposter sous peu pour compléter).
 
Discussions similaires
Haut