Bonjour,

Je viens vers vous car j'ai un soucis dans mes regex pour l'url rewriting d'un site.

Je vous expose d'abord le principe (courant) :
une page présente des voitures d'occasion, on peut chercher dans cette page les véhicules suivant des critères :
-marque
-modèle
-énergie
-département

En +, il y a des critères d'ordre :
-prix
-marque
-département

Je peux donc vouloir rechercher : toutes les peugeots, les peugeots diesel classées par prix etc ...

Je m'étais lancé dans un htaccess couvrant toutes les situations mais je suis sûr qu'il existe une solution beaucoup plus propre si on utlise bien les regex (là, je suis proche de mes limites ).

J'étais parti comme ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
################################
# OCCASION DE MOINS DE 2 ANS ! #
################################
 
# Page général : /occasion-moins-2-ans/
RewriteRule ^occasion-moins-2-ans/$ /occasion_moins_2ans.php [L]
#Tri par prix
RewriteRule ^occasion-moins-2-ans/prix/(progressif.html)?$ /occasion_moins_2ans.php?tri=prix&sens=ASC [L]
RewriteRule ^occasion-moins-2-ans/prix/degressif.html$ /occasion_moins_2ans.php?tri=prix&sens=DESC [L]
 
#Tri par marque
RewriteRule ^occasion-moins-2-ans/marque/(progressif.html)$ /occasion_moins_2ans.php?tri=marque&sens=ASC [L]
RewriteRule ^occasion-moins-2-ans/marque/degressif.html$ /occasion_moins_2ans.php?tri=marque&sens=DESC [L]
 
#Tri par dept
RewriteRule ^occasion-moins-2-ans/departement.html$ /occasion_moins_2ans.php?tri=dept [L]
 
# Page avec seulement le début : /occasion-moins-2-ans/12/
RewriteRule ^occasion-moins-2-ans/([0-9]+)/(index.html)?$ /occasion_moins_2ans.php?debut=$1 [L]
 
# Page avec seulement la marque (a-z, A-Z, -) : /occasion-moins-2-ans/renault/
RewriteRule ^occasion-moins-2-ans/([A-Za-z0-9\-]+)/(index.html)?$ /occasion_moins_2ans.php?marque=$1 [L]
 
# Page avec la marque + debut : /occasion-moins-2-ans/renault/12/
RewriteRule ^occasion-moins-2-ans/([A-Za-z0-9\-]+)/([0-9]+)/(index.html)?$ /occasion_moins_2ans.php?marque=$1&debut=$2 [L]
etc...

En fait c'est parce que j'utilise la condition last à chaque fois car j'arrive pas à enchainer les conditions sinon (marque + prix asc, modele + dept desc , etc...)

Si vous avez qq conseils, je suis preneur !

Merci d'avance pour le coup de pouce.
@+
Seb