Rewriting avec 2 ou 3 paramètres

Nouveau WRInaute
bonsoir,

je débute avec le rewriting, et voilà mon problème :
lorsqu'un internaute tape
film.htm -> film.php
film-en.htm -> film.php?lg=en
film-en-4.htm -> film.php?lg=en&id=4

rien de bien compliqué je suppose, mais... cela ne marche pas lorsque je mets la troisième variable...

j'ai mis ceci dans mon .htaccess :
Code:
RewriteEngine on 
RewriteRule ^([a-zA-Z0-9]*)\.htm$ /$1.php [L] 
RewriteRule ^([a-zA-Z0-9]*)-^([a-zA-Z0-9]*)\.htm$ /$1.php?lg=$2 [L]
RewriteRule ^([a-zA-Z0-9]*)-^([a-zA-Z0-9]*)-(.*)\.htm$ /$1.php?lg=$2&id=$3 [L]

pourquoi ne prend-il pas la dernière variable?

merci pour votre aide
 
WRInaute passionné
RewriteEngine on
RewriteRule ^([a-zA-Z0-9]*)-([a-zA-Z0-9]*)-(.*)\.htm$ /$1.php?lg=$2&id=$3 [L]
RewriteRule ^([a-zA-Z0-9]*)-([a-zA-Z0-9]*)\.htm$ /$1.php?lg=$2 [L]
RewriteRule ^([a-zA-Z0-9]*)\.htm$ /$1.php [L]
 
Nouveau WRInaute
merci, ça marche.
j'avais essayé, mais en laissant le ^ devant ([a-zA-Z0-9]*) lors de sa deuxième apparition dans une ligne, je suppose que c'est à cause de cela.
que signifie le ^ ?
 
WRInaute impliqué
Le ^ signifie "début de la chaine" et à l'inverse, le $ c'est la fin.
Tes règles étaient bonnes mais dans le mauvais ordre ;)
 
Discussions similaires
Haut