Aller au contenu

Concaténation de règles


Sujets conseillés

Bonjour,

je me demandais si je ne pouvais pas simplifier ces 4 règles là pour n'en faire qu'une seule:

RewriteRule ^([a-z]+)\.html$ index.php?page=$1 [L]
RewriteRule ^([a-z]+)-([a-z]+)\.html$ index.php?page=$1-$2 [L]
RewriteRule ^([a-z]+)-([a-z]+)-([a-z]+)\.html$ index.php?page=$1-$2-$3 [L]
RewriteRule ^([a-z]+)-([a-z]+)-([a-z]+)-([a-z]+)\.html$ index.php?page=$1-$2-$3-$4 [L]

Possible ou non ? Si c'est le cas pourriez-vous m'aiguiller.

Lien vers le commentaire
Partager sur d’autres sites

Allez, je prends un risque!

RewriteRule ^([a-z]+(-[a-z]+){0,3})\.html$ index.php?page=$1 [L]

A+

PS : J'avais oublié les '+'...

Modifié par Bourinho
Lien vers le commentaire
Partager sur d’autres sites

Extra... donc si j'ai bien compris, {0,3} indique le nombre de fois où le pattern est répété.

Merci bien. ;)

Modifié par xou
Lien vers le commentaire
Partager sur d’autres sites

Allez, je prends un risque!

Le seul endroit ou j'ai un doute, c'est sur le $1... J'ai mis des parenthèses autour de ce que tu souhaites mettre en GET... donc cela doit se retrouver dans le $1... mais je ne suis pas tout à fait sur car il y a une autre paire de parenthèses à l'intérieur...

A+

Lien vers le commentaire
Partager sur d’autres sites

En fait, je ne connais pas la priorité dans ce cas de figure... c'est première parenthèse ouverte -> $1 ???

Edit : C'est visiblement ce que tu viens d'expliquer... Prochaine fois, je lirai deux fois!!! ;)

Modifié par Bourinho
Lien vers le commentaire
Partager sur d’autres sites

Je viens de tester sur diverses url et ça fonctionne. ;)

Merci à toi, je ne savais pas que l'on pouvais imbriquer les patterns de la sorte... je vais d'ailleurs expérimenter d'autres patterns qui me viennent en tête du coup !! :P

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...