PHP- aide pour url rewriting [Résolu/Fermé]

Signaler
Messages postés
534
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
29 août 2014
-
Messages postés
534
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
29 août 2014
-
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

3 réponses

Messages postés
534
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
29 août 2014
54
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
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
459
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.
Messages postés
534
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
29 août 2014
54
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
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
459
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.
Messages postés
534
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
29 août 2014
54
Ok merci beaucoup Arthezius.

bonne journée

Pascal_22