Plusieurs règles qui se ressemble

Nouveau WRInaute
Bonjour à tous !

J'ai un petit problème avec mes règles de redirection... En fait, j'ai deux types de liens avec le même nombre de variables. Le problème, c'est que le serveur ne prend que la première règle en compte et me zappe la seconde. Je vous mets mon htaccess pour que tout le monde comprenne :
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([a-zA-Z0-9-]+)-([0-9]+)-([0-9]+)\.html$ /cotesud/index.php?page=$1&section=$2&rubrique=$3 [L]
RewriteRule ^([a-zA-Z0-9-]+)-([0-9]+)-([0-9]+)\.html$ /cotesud/index.php?page=$1&erreur=$2&num=$3 [L]
RewriteRule ^([a-zA-Z0-9-]+)\.html$ /cotesud/index.php?page=$1 [L]

Comment faire pour que le serveur tienne compte de toutes les règles et pas seulement de la première et de la troisième ?
 
WRInaute accro
tu as un problème de logique là. tu as 2 fois la meme url que tu ré-écris de maniere differente. ce n'est pas possible. il ne peut pas choisir comment il va la ré-écrire :) tu dois préciser tes regles pour que chaque type d url ai sa propre ré-écriture
 
Nouveau WRInaute
Je vois bien ce que tu veux dire. Effectivement, on a des url identique pour des pages différentes.. Le problème, c'est que je ne vois pas bien comment préciser tout ça...
 
WRInaute accro
donne moi un exemple d une url qui doit aller vers l un, et d une qui doit aller vers l autre. mais il faut que les "types" d url soit différents, c est sur
 
Nouveau WRInaute
Bah en fait, du coup je suis parti à faire quelques modifs !
Pour un type d'url j'ai mis le tiret comme séparateur (les url qui correspondant à la première règle), et pour l'autre la virgule (la deuxième règle)... Comme ça les url sont vraiment différente. Je me demande si l'effet ne serait pas le même en ajoutant des mots !
 
WRInaute accro
je rajoute pas trop de mots inutiles dans une url, ca la fait rallonger pour rien :)
sinon tu peux tout simplement inverser 2 variables
 
WRInaute occasionnel
Et pourquoi pas un truc du style :
Code:
RewriteRule ^([a-zA-Z0-9-]+)-s([0-9]+)-r([0-9]+)\.html$ /cotesud/index.php?page=$1&section=$2&rubrique=$3 [L]
RewriteRule ^([a-zA-Z0-9-]+)-e([0-9]+)-n([0-9]+)\.html$ /cotesud/index.php?page=$1&erreur=$2&num=$3 [L]
C'est l'idée de base. après tu la décline selon tes envies.
 
Nouveau WRInaute
Ok !

Je comprends mieux maintenant ! C'était pas tout à fait clair dans mon esprit, mais maintenant, c'est bon !

Merci beaucoup !
 
Discussions similaires
Haut