plusieurs RewriteRule

Nouveau WRInaute
Salut à tous,

Voilà j'essaye de modifier l'url de mes pages avec cette règle :

RewriteRule ^index-(.+)-(.+)-(.+)\.html$ index.php?var1=$1&var2=$2&var3=$3 [L]


ce qui donne :

index-var1-var-2-var3.html

à la place de :

index.php?var1=var1&var2=var2&var3=var3

et ça marche bien :D


par contre si j'appelle juste :

index-var1.html

a la place de

index.php?var1=var1

et ben là marche pas :?

alors j'ai essayer d'ajouter une rewriterule :

RewriteRule ^index-(.+)\.html$ index.php?var1=$1 [L]

mais là y'a plus rien qui marche :roll:

C'est clair qu'il y a quelquechose qui a du m'échapper. Faut-il créer plusieurs rewriterule pour faire ça ou alors il fait mettre une RewriteCond mais la j'ai testé aussi quelque truc et c'est encore pire.

si vous avez une idée :D .
 
WRInaute passionné
Il faut écrire les règles de la plus restrictive à la plus large en stopant le rexrite [L]

Code:
RewriteRule ^index-(.+)-(.+)-(.+)\.html$ index.php?var1=$1&var2=$2&var3=$3 [L]
RewriteRule ^index-(.+)\.html$ index.php?var1=$1 [L]

si tu place la deuxième avant la première ca marche pas : tu pourrais te retrouver avec des trucs du genre index.php?var1=23-32-12
 
Nouveau WRInaute
j'ai encore un tit problème :

Il faut écrire les règles de la plus restrictive à la plus large en stopant le rexrite [L]

ça ok, mais si les règles ont les meme restrictions comment faire ?

par exemple :

RewriteRule ^index-(.+)-(.+)\.html$ index.php?var1=$1&var2=$2 [L]
RewriteRule ^index-(.+)-(.+)\.html$ index.php?var1=$1&varA=$2 [L]

la première marche mais pas la deuxième vice-versa si j'inverse les règles.
 
WRInaute passionné
il faut faire (par exemple)

Code:
RewriteRule ^index-(.+)-(.+)\.html$ index.php?var1=$1&var2=$2 [L]
RewriteRule ^index-(.+),(.+)\.html$ index.php?var1=$1&varA=$2 [L]
 
Nouveau WRInaute
Code:
RewriteRule ^index-(.+),(.+)\.html$ index.php?var1=$1&varA=$2 [L]

excellent !!!

merci encore une fois pour ton aide, ça j'aurais jamais trouvé :mrgreen:
 
Discussions similaires
Haut