Comment opter pour RewriteCond afin de rediriger plusieurs parametres dans l'url

Nouveau WRInaute
Bonjour,
je suis bloquer dans l'utilisation de RewriteCondition pour cumuler les paramètres passer dan l'url.
je ne sais pas si ma question est compréhensible !!.
j'explique:
j'ai une page "index.php" qui peut récupérer 1 ou plusieurs paramètres : ?paramA=$1 et (ou) paramB=$2 et (ou) paramC=$3 et (ou) paramPAGE=$4.


j'ai essayer de réaliser la redirection de toutes les liens qui peuvent exister selon le ou les paramètres envoyés mais sa ne fonctionne pas comme prévu.
je sais que si j'utilise rewriteCond sa me faciliterai la tache mais je ne sais par ou commencer.
voici le code que j'ai fait :
Code:
    RewriteRule ^folder/list-([0-9])\.html$  folder/index.php?paramPAGE=$1 [QSA,L]
    RewriteRule ^folder/(.*)\.html$  folder/index.php?paramA=$1 [QSA,L]
    RewriteRule ^folder/(.*)-list-([0-9])\.html$  folder/index.php?paramA=$1&paramPAGE=$2 [QSA,L]
    RewriteRule ^folder/(.*)\.html$  folder/index.php?paramB=$1 [QSA,L]
    RewriteRule ^folder/(.*)-list-([0-9])\.html$  folder/index.php?paramB=$1&paramPAGE=$2 [QSA,L]
    RewriteRule ^folder/(.*)\.html$  folder/index.php?paramC=$1 [QSA,L]
    RewriteRule ^folder/(.*)-list-([0-9])\.html$  folder/index.php?paramC=$1&paramPAGE=$2 [QSA,L]

    RewriteRule ^folder/(.*)-(.*)\.html$  folder/index.php?paramA=$1&paramB=$2 [QSA,L]
    RewriteRule ^folder/(.*)-(.*)-list-([0-9])\.html$  folder/index.php?paramA=$1&paramB=$2&paramPAGE=$3 [QSA,L]
    RewriteRule ^folder/(.*)-(.*)\.html$  folder/index.php?paramA=$1&paramC=$2 [QSA,L]
    RewriteRule ^folder/(.*)-(.*)-list-([0-9])\.html$  folder/index.php?paramA=$1&paramC=$2&paramPAGE=$3 [QSA,L]
    RewriteRule ^folder/(.*)-(.*)\.html$  folder/index.php?paramB=$1&paramC=$2 [QSA,L]
    RewriteRule ^folder/(.*)-(.*)-list-([0-9])\.html$  folder/index.php?paramB=$1&paramC=$2&paramPAGE=$3 [QSA,L]

    RewriteRule ^folder/(.*)-(.*)-(.*)\.html$  folder/index.php?paramA=$1&paramB=$2&paramC=$3 [QSA,L]
    RewriteRule ^folder/(.*)-(.*)-(.*)-list-([0-9])\.html$  folder/index.php?paramA=$1&paramB=$2&paramC=$3&paramPAGE=$4 [QSA,L]

voici les probabilités qui peuvent exister et que je désire avoir en déclarant rewriteCond:
A+B+C+PAGE [OR]
A+B+C [OR]
A+B [OR]
A+B+PAGE [OR]
B+C [OR]
B+C+PAGE [OR]
A+C [OR]
A+C+PAGE [OR]
A [OR]
A+PAGE [OR]
B [OR]
B+PAGE [OR]
C [OR]
C+PAGE [OR]
une petite aide de votre part serai la bienvenu. merci
 
WRInaute discret
RewriteRule ^folder/(.*)\.html$ folder/index.php?paramA=$1 [QSA,L]
RewriteRule ^folder/(.*)\.html$ folder/index.php?paramB=$1 [QSA,L]

cela ne peut pas fonctionner, c'est la première règle qui sera toujours exécutée.
il faut absolument trouver quelque chose pour que les règles soient différentes selon le paramètre à passer.
 
Nouveau WRInaute
Merci pour ta réponse loui63.
Effectivement c'est toujours la première règle qui s'exécute. j'en déduit que je doit trouver une méthode pour ne pas mettre $1 comme valeur pour chaque paramètre envoyé. est ce que c'est ce que tu veut dire ?
 
WRInaute passionné
La liste est lue de haut en bas, ta regle folder/(.*).html devrait etre placee a la fin sinon toutes les autres du style folder/blabla-list.html ne seront pas executees car la premiere correspond a nimporte quoi entre folder/ et .html

Et oui tu ne peut pas avoir folder/(.*).html qui envoit un coup a parama un coup a paramb, comment tu veux quil sache quand envoyer parama et quand envoyer a paramb il peut pas il enverra toujours a parama car cest la premiere de la liste.
 
Nouveau WRInaute
placer folder/(.*).html à la fin de la règle tu veut dire ?
en attendant je vait faire un petit tour dans la documentation parce que d'après vos réponse je sens que j'ai mal compris la syntaxe pour écrire des règles.
et merci pour votre rapidité de répondre. :wink:
 
WRInaute passionné
non je veut bien dire folder/(.*).html à la fin du fichier, en tous cas en dessous de regles comme folder/(.*)-list.html et autres.
Il faut commencer par le plus spécifique et finir par le général, le plus large, comme ca si une url correspond au cas specifique, hop c'est fait et le reste n'est pas lu (ta balise [L])
 
Discussions similaires
Haut