Classes de caractères et espaces

Nouveau WRInaute
Salut :wink:

je viens d'essayer le tuto de WRI pour l'URL rewriting et ca fonctionne mais j'aimerais l'adapter au site sur lequel je travaille.

j'ai fai un formulaire de recherche de produits qui POST deux variables à un fichier php

voici la page formulaire : http://www.comptoirdutuning.fr/boitiers.php
et la page php est http://www.comptoirdutuning.fr/recherch ... els-mm.php

j'ai donc suivi les instructions de WRI en creant un .htaccess

Code:
RewriteEngine on
RewriteRule ^boitiers-([A-Za-z0-9]+)-([A-Za-z0-9]+)\.html$  recherche-boitiers-additionnels-mm.php?marque=$1&modele=$2  [L]

et ca fonctionne plutot bien,

pour une recherche marque "BMW", modele "730"
l'ancienne url http://www.comptoirdutuning.fr/recherch ... modele=730
devient
http://www.comptoirdutuning.fr/boitiers-bmw-730.html

moi qui n'ai jamais fai d'url rewriting je peux dire que le tuto WRI est bien fait :wink:

Mais il reste un probleme, certaines variables ont des espaces ce qui pose probleme (page introuvable) :
http://www.comptoirdutuning.fr/boitiers-bmw-730%20V8.html

je pense que c'est à cause de cette partie du htaccess :
Code:
([A-Za-z0-9]+)-([A-Za-z0-9]+)
mais je ne voi pas quelle classe de caractere utiliser pour inclure les espaces...

si quelqun peu m'aider ca serait simpa, je débute completement :roll:

merci d'avance
 
Nouveau WRInaute
si j'ai bien compri

au moment de passer les données (marque + modele), je remplace les espaces par "_" (avec ereg_replace je présume) et dans le fichier php de recherche recherche-boitiers-additionnels-mm.php je remplace les "_" par des espaces, ca me parrait correct comme solution, mais les "_" sont compris dans la classe [A-Za-z0-9] ?
 
WRInaute passionné
Ez-Toni a dit:
si j'ai bien compri

au moment de passer les données (marque + modele), je remplace les espaces par "_" (avec ereg_replace je présume) et dans le fichier php de recherche recherche-boitiers-additionnels-mm.php je remplace les "_" par des espaces

exact

Ez-Toni a dit:
ca me parrait correct comme solution
ca tombe bien...

Ez-Toni a dit:
mais les "_" sont compris dans la classe [A-Za-z0-9] ?

Effectivement non. IL faudra que tu utilise (.*) qui il me semble recouvre l'ensemble des caractères.
 
Nouveau WRInaute
dadovb a dit:
Effectivement non. IL faudra que tu utilise (.*) qui il me semble recouvre l'ensemble des caractères.

tu peux m'en dire plus?
ou me dire si c'est bon :

Code:
RewriteEngine on
RewriteRule ^boitiers-(.*)-(.*)\.html$  recherche-boitiers-additionnels-mm.php?marque=$1&modele=$2  [L]

et merci de ton aide :)
 
Discussions similaires
Haut