PHP- aide pour url rewriting

Résolu/Fermé
Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 - 14 déc. 2010 à 20:06
Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 - 14 déc. 2010 à 21:23
Bonjour,

Sur mon site j'utilise la réécriture d'URL (url rewriting) mais la j'ai un petit soucis avec une règle.

Je désire avoir une url comme ceci : www.monsite.com/laville-idville.html (bien sur je remplace idville par son id et laville par le nom de la ville que les espaces et apostrophes sont remplacer par des tirêts et les accents enlevés)

voici la regle :
RewriteRule ^Recheche/([a-zA-Z]+)-([0-9]+)\.html$  ResultatsRechercheVille.php?NomProvince=$1&FkProvince=$2 [L]


Ce qui me cause problème, c'Est quand ma ville a des espace, je les ai remplacer par des tirêt (-), et la je ne sais plus comment faire ma règle.
Car dépendamment du nom de la ville, il peu aveoir plusieur espace(remplacer par des tirêt)
Avez-vous une idée?

Merci beaucoup!

Pascal_22

A voir également:

3 réponses

Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 54
14 déc. 2010 à 20:21
J'ai modifier ma règle comme ceci et ça semble fonctionner : en rajoutant un tirêt dans ma premioère condition az :([a-zA-Z-]

RewriteRule ^Recheche/([a-zA-Z-]+)-([0-9]+)\.html$  ResultatsRechercheVille.php?NomProvince=$1&FkProvince=$2 [L]



Est-ce la bonne pratique?

Pascal_22
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
14 déc. 2010 à 21:06
Tu sais, un moyen simple de savoir le résultat est de l'essayer.

Dans une page met le code suivant:
<?php
echo 'Nom: '.$_GET['NomProvince'].'<br/><br/>Id: '.$_GET['FkProvince'];
?>

Tu verra si les deux valeurs s'affichent correctement.
C'est comme ça qu'on apprends.
0
Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 54
14 déc. 2010 à 21:11
Arthezius,

Merci de la réponse. Mais ce que je voulais dire, c'est que oui le tout fonctionne, mais mon affirmation était plutot, si c'était correcte de mettre le tirêt a l'endroit ou je l'ai mis
([a-zA-Z-]+)
car j'ai lu a quelque place, qu'il est utiliser comme "for range"

Mais effectivement ça marche.

Merci

Pascal_22
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
14 déc. 2010 à 21:19
Si ça marche y'a pas besoin de chercher plus loin.

Personnellement, je fais ça comme ça:
RewriteRule ^([A-Za-z0-9_]+)-([A-Za-z0-9_]+)\.html$   index.php?page=$1&var=$2 [L]

Je met "_" au lieu de "-" car chaque variable chez moi est susceptible d'avoir des chiffres et lettres.
Si t'a deuxième variable n'a que des chiffres, y'a pas de problème.
0
Pascal_22 Messages postés 534 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 29 août 2014 54
14 déc. 2010 à 21:23
Ok merci beaucoup Arthezius.

bonne journée

Pascal_22
0