Page 1 sur 1

Url rewritting (suite)

Posté : 12 mars 2008, 02:04
par Gico
Salut

J'ai encore besoin de quelques lumières pour comprendre l'url rewrittting

je voudrais dans mon lien afficher une catégorie, donc même si elle ne me sert pas pour ouvrir un article je la passe dans l'url

Code : Tout sélectionner

fiche_article.php?cat=categorie-legumes&id=6
ensuite je souhaite crée une règle de rewritting pour obtenir :

Code : Tout sélectionner

article-categorie-legumes-6.html
j'ai fait ça, mais manifestement , y'a quelque chose que j'ai pas compris:

Code : Tout sélectionner

RewriteRule article-([a-z]+)-([0-9]+).html fiche_article.php?cat=$1&id=$2 [L]
merci

Posté : 12 mars 2008, 13:17
par Ryle
([a-z]+) correspond à une chaine composée uniquement de une ou plus lettres en minuscule.

Dans ton adresse "article-categorie-legumes-6.html" cela devrait donc correspondre à la partie "categorie-legumes", or cette partie comporte également un tiret. Du coup le masque n'est pas respecté et la règle pas appliquée :)

Pour ajouter le caractère tiret "-" dans une classe d'expression régulière, il faut le placer tout à la fin (sans quoi il détermine un interval, ex : [a-zA-Z] = les caractères ascii entre 'a' et 'z' ou entre 'A' et 'Z', [az-] = le caractère 'a' ou le caractère 'z' ou le tiret :))

Posté : 13 mars 2008, 01:35
par Gico
merci
j'ai pigé et appliqué.
bien à toi