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

Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics

mouhyim
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Enregistré le: 14 Sep 2009

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

Message le Lun Déc 26, 2016 19:38

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: Tout sélectionner
    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

Louis63
WRInaute discret
WRInaute discret
 
Messages: 112
Enregistré le: 22 Fév 2016

Re: comment opter pour RewriteCond afin de rediriger plusieurs parametres dans l'url

Message le Lun Déc 26, 2016 20:21

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.

mouhyim
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Enregistré le: 14 Sep 2009

Re: comment opter pour RewriteCond afin de rediriger plusieurs parametres dans l'url

Message le Lun Déc 26, 2016 22:31

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 ?


FortTrafic
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Enregistré le: 11 Déc 2012

Re: comment opter pour RewriteCond afin de rediriger plusieurs parametres dans l'url

Message le Lun Déc 26, 2016 22:37

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.

mouhyim
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Enregistré le: 14 Sep 2009

Re: comment opter pour RewriteCond afin de rediriger plusieurs parametres dans l'url

Message le Mar Déc 27, 2016 1:14

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:


FortTrafic
WRInaute passionné
WRInaute passionné
 
Messages: 1431
Enregistré le: 11 Déc 2012

Re: comment opter pour RewriteCond afin de rediriger plusieurs parametres dans l'url

Message le Mar Déc 27, 2016 9:49

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])


Formation recommandée sur ce thème :

Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :