url rewriting, syntaxe pour les expressions régulières...

WRInaute discret
Bonjour,

Je commence tout juste les url rewriting, j'ai cherché une réponse à onproblème dans les forums, mais je n'ai pas trouvé !!

voici mon cas :

j'ai une page qui sera écrite comme ceci :

liste-vocabulaire-theme-$id_du_theme-$nom_du_theme\.php
qui devra etre réécrite en : liste_vocabulaire.php?id_theme=$1

voici ma règle de réécriture :

RewriteRule ^liste-vocabulaire-theme-([0-9]+)-(-[a-z]*)\.php$ /v2/vocabulaire/anglais/liste_vocabulaire.php?id_theme=$1 [L]

et voici mon problème :

parfois le nom de mes thèmes contiennent des espaces, alors je les ai remplacés par des tirets (str_replace), mais à partir de ce moment la page n'est pas réécrite.
Si je supprime les espaces tout simplement,marche sans problème, mais je suppose que je perd en référencement pour les mots clés... quelqu'un aurait il l'expression exacte pour 'une chaine qui contient des lettres et des tirets' ou 'ignorer tout jusqu'à .php à partie de là'

merci d'avance !!

fred
 
WRInaute passionné
ca me semble correct :

1- fonction qui analyse et gère les caractères spéciaux (espaces, mais aussi accents, espaces, ...) il y avait un super post y a à peu près un mois sur wri, mais je le retrouve pas. a mon avis madri va débarquer vitre fait pour y remédier ...
2- insérer le lien dans ta page html
3- convertir le lien grâce à ta fonction dans le htaccess. ta fonction m'a l'air ok...

donne moi ton url si tu veux que je t'aide plus
 
WRInaute passionné
si tu veux avoir une chaine contenant des minuscules ou des - il faut remplacer (-[a-z]*) par ([a-z-]*) voir carrément (.*) pour avoir n'importe que caractère
 
WRInaute discret
désolé j'ai mis du temps à répondre car j'ai mis du temps à tester,
je voulais juste vous dire merci car ça fonctionne :)
(pour info j'ai utilisé (.*) )

A bientôt
 
Discussions similaires
Haut