Un conseil de rédaction d'UR un peu complexe

WRInaute impliqué
salut a tous et bonne année !

je voulais vous soummettre mon petit soucis. J'ai ecrit un script en php pour mon site qui permet de garder un menu deroulé quelquesoit la page atteinte.

dans le genre : index.php?m=$m&sm=$sm m et sm ont une valeur parfois vide, selon que l'on est sur la page d'accueil du site.
j'ajoute de plus une varialble $id qui est vide lorsqu'on est sur la page index.php et quelques autres.

j'avais pensé à écrire un UR comme suit

RewriteEngine on
RewriteRule ^index-([a-z0-9])-([a-z0-9])-([a-z0-9]).html$ index.php?id=$1&m=$2&sm=$3 [L]

Quand m, sm et id sont indefinis, comment va s'ecrire index---.html ?
 
WRInaute occasionnel
Le comment ca va s'écrire, c'est toi qui le décides, le tout étant d'avoir une structure qui permette de repérer de façon certaine les éléments présents. En l'état, la racine s'écrirait effectivement index---.htm Tu peux par exemple ajouter des règles pour des cas particuliers :

Code:
RewriteEngine on
RewriteRule ^index.html$ index.php [L] 
RewriteRule ^index-([a-z0-9])-([a-z0-9])-([a-z0-9]).html$ index.php?id=$1&m=$2&sm=$3 [L]

ou construire une arborescence virtuelle où les chemins seraient quelque chose comme
Code:
/$m/$sm/$id.html
ou 
/$m/$sm/index.html
ou
/$m/$id.html
ou 
/$m/index.html
ou
/index.html

Suis-je clair? Et ai-je bien compris la question? Bonne année à tous d'ailleurs.
 
WRInaute impliqué
tout a fait, merci pour ton conseil. Petite question subsidiaire, est-ce que le code suivant est correct ?

RewriteEngine on
RewriteRule ^index-([0-9]+)\.html$ index.php?deb=$1 [L]
RewriteRule ^index,([0-9]+)\.html$ index.php?m=m$1 [L]
RewriteRule ^index,([0-9]+),([0-9]+)\.html$ index.php?m=m$1&sm=sm$2 [L]
RewriteRule ^cat,([0-9]+),([0-9]+)\.html$ cat.php?m=m$&id=$2 [L]
RewriteRule ^cat,([0-9]+),([0-9]+)-([0-9]+)\.html$ cat.php?m=m$&id=$2&deb=$3 [L]
RewriteRule ^cat,([0-9]+),([0-9]+),([0-9]+)\.html$ cat.php?m=m$1&sm=sm$2&id=$3 [L]
RewriteRule ^cat,([0-9]+),([0-9]+),([0-9]+)-([0-9]+)\.html$ cat.php?m=m$1&sm=sm$2&id=$3&deb=$4 [L]
 
WRInaute accro
d'instinct, j'inverserai..

=> du plus grand nombre de parametres au plus petit..

mais bon, le mieux a faire... c'est de tester soit meme ? :)
on risque pas grand chose a part peut etre l'ignoble erreur 500
 
Discussions similaires
Haut