Aller au contenu

réecriture mots composés


Sujets conseillés

Bonjour,

J'utilise le fichier .htaccess pour réecrire les urls. Le code est de cette forme:

RewriteRule ^ville-(.+)\.html$ /ville.php?nom_ville=$1 [L]

la réecriture fonctionne tout à fait normalement, même pour les nom de villes composés séparés par des tirets comme: saint-malo. L'url est de cette forme ville-saint-malo.html et la page s'ouvre normalement.

Par contre, si je fais un echo sur $nom_ville dans cette page, apparemment la valeur n'est pas récupérée en entier, pour saint-malo, l'echo affichera seulement malo, ce qui évidemment pose un certain nombre de problèmes pour les requetes qui sont associés.

Est-ce que cela peut venir de la réecriture avec (.+) ? Et existe-t-il un autre code plus sûr ?

Modifié par yankey
Lien vers le commentaire
Partager sur d’autres sites

bon, j'ai finie par comprendre qu'il faut deux séparateurs différents... je ne peux utiliser le tiret dans la réecriture et dans les valeurs... il faut donc modifier l'un ou l'autre.

Modifié par yankey
Lien vers le commentaire
Partager sur d’autres sites

Ben, j'ai modifié les séparateurs dans la champ ville, j'ai remplacé par des points, et cette fois tout se passe trés bien, il récupère bien le nom de la ville en entier.

C'est bizarre, je ne sais pas, parce que si j'avais un problème dans le php, il récupérerai aussi seulement un bout de la valeur en mettant des points à la place des tirets...

Je vais revoir encore le code de la page pour essayer de comprendre ce qu'il peut se passer dans le php, mais vraiment je ne vois pas, si je laisse les tirets et que je fais un simple echo"$nom_ville" en haut de la page je n'ai que la dernière partie du nom, avec des . je l'ai en entier...

Je vais faire des test sur des url non réecrites aussi pour voir...

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...