Problème avec variables contenant "-"

WRInaute occasionnel
Bonjour,

J'ai un souci avec mon url rewriting !!

Mes url réécrites sont du type "-www.monsite.com/pouetpouet-variable1-variable2-..."

Le problème vient du fait que mes variables peuvent contenir le caractère "-" et ca met la pagaille en rajoutant dans l'url une variable supplémentaire qui n'existe pas !!

Alors ma 1ère question sera :
Existe t-il un moyen d'inclure un "-" dans mes variables mais que tout soit bien interprété ??

Ma 2ème question :
Une solution serait de remplacer les "-" par des "," pour les séparateurs de variables. De cette manière, je peux continuer à utiliser mes variables avec des "-" dedans.
Le problème c'est que si j'opère le changement, comment rediriger toutes mes pages dynamiques avec des "-" vers ces même pages mais avec des "," ?? J'ai environ 3000 pages indexées dans google alors je ne veux pas faire de bétises.

Merci.

Dop
 
WRInaute passionné
Il faut que tu passe tes variables texte dans la fonction url_encode() avant d'écrire le href de tes liens.
 
WRInaute occasionnel
Je fais déjà un urlencode() !! De toute façon le "-" (signe moins) ne semble pas encodé dans l'url puisqu'il apparaît bien en "-" et non pas "%...".

Merci quand même ;-)
 
WRInaute passionné
C'est bizarre... Je ne connais pas des masss php mais URLEncode() en asp me change bien les caractères "-" en "%..."
 
WRInaute occasionnel
jeroen a dit:
Bien sur le nombre de variables n'est pas fixe ?

Si il est fixe !! J'ai plusieurs règles suivant le type de page et le nombre de variables est fixe pour chaque règle (une variable pouvant être nulle "--") !!
 
WRInaute passionné
Et bien alors tu n'a pas de problème si tes règles sont correctes :wink:
Donne un exemple de règle qui plante stp
 
WRInaute occasionnel
jeroen a dit:
Et bien alors tu n'a pas de problème si tes règles sont correctes :wink:
Donne un exemple de règle qui plante stp

http://www.importation-auto.fr/offres/a ... 0-1--.html

La variable "modèle" contient ici "Focus" ... pas de soucis !!

http://www.importation-auto.fr/offres/a ... 0-1--.html

La variable "modèle" contient ici "Focus C-MAX" ... aucun résultat retourné car je suppose que ma variable "modèle" contient en réalité "Focus C" !!


Par contre étonnant j'ai testé en remplaçant "Focus C-MAX" par "Focus C−MAX dans ma base, mon url devient :

http://www.importation-auto.fr/offres/a ... 0-1--.html

et ca ne marche pas non plus :evil:
 
WRInaute passionné
donne la règle associée :wink:

dans l'url
-http://www.importation-auto.fr/offres/achat-voiture-importation-Ford-Focus-a_commander-0-10-1--.html, qu'est ce qui est fixe, qu'est ce qui varie ?
 
WRInaute occasionnel
-http://www.importation-auto.fr/offres/achat-voiture-importation-$marque-$modele-$categorie-$debut-$fin-$page-$tri-$carburant.html
 
WRInaute occasionnel
Code:
Options +FollowSymlinks
RewriteEngine on

RewriteRule ^achat-voiture-importation-(.*)-(.*)-([_a-zA-Z]+)-([0-9]+)-([0-9]+)-([0-9]+)-([a-z]*)-([a-z]*)\.html$ /offres/index.php?page=offres&choix_marque=$1&choix_modele=$2&tab=$3&cat=$3&debut=$4&fin=$5&feuil=$6&tri=$7&carburant=$8 [L]
 
Discussions similaires
Haut