seb31 Posté 14 Décembre 2005 Partager Posté 14 Décembre 2005 Bonjour, J'ai un soucis sur une règle d'url rewriting. J'ai une url qui peut être du type : /occasion/ qui est redirigée vers page.php /occasion/prix/ qui devrait être redirigée vers page.php?tri=prix /occasion/prix/degressif/ qui devrait être redirigée vers page.php?tri=prix&sens=degressif /occasion/degressif/ qui devrait être redirigée vers page.php?tri=&sens=degressif J'ai écrit cette règle : RewriteRule ^occasion/((prix|marque|departement)/?)?((degressif|progressif)/?)?$ /occasion_moins_2ans.php?tri=$1&sens=$3 [L] Le problème c'est que $1 me renvoit prix/ mais moi je ne veux que $1=prix. Le truc c'est que l'ordre des sous répertoires est fixe, mais peut ne pas être dans l'url genre: /occasion/progressif/ => page.php?tri=&sens=progressif Ma question : comment intégrer dans la règle ((prix|marque|departement)/?) le sous répertoire prix,marque, departement peut être présent ou pas ... et comment supprimer le / de ma varaible $1. En espèrant avoir été assez clair. Merci d'avance du coup de main. @+ Seb Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 14 Décembre 2005 Partager Posté 14 Décembre 2005 C'est dû aux doubles parenthèses de ((prix|marque|departement)/?)? le $1 représentant l'ensemble avec le / facultatif. Change ta règle en RewriteRule ^occasion/(prix|marque|departement)?/?(degressif|progressif)?/?$ /occasion_moins_2ans.php?tri=$1&sens=$2 [L] ce sera plus simple Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
seb31 Posté 14 Décembre 2005 Auteur Partager Posté 14 Décembre 2005 Salut, Mille mercis pour ce coup de pouce !!! Juste 2 petites questions en plus ... mon url peut être du type /marque/prix/ comment dans ma règle mettre que le premier sous répertoire peut être des carctères = - mais pas (prix|departement|marque) ? ([A-Za-z0-9\-]+) Ma règle : (modele-[A-Za-z0-9\-]+)?/? me permet de récupérer le modèle genre modele-peugeot-407-616 où 616 est l'id du modèle !, mais cette règle me renvoit $i = modele-peugeot-407-616, est-il possible de lui faire renvoyer juste 616 ? Encore merci ! Bye Seb Lien vers le commentaire Partager sur d’autres sites More sharing options...
seb31 Posté 14 Décembre 2005 Auteur Partager Posté 14 Décembre 2005 Oupssssss ! Je viens de trouver la solution de la deuxième question ! (modele-[A-Za-z0-9\-]+-([0-9]+))?/? Bye Seb Lien vers le commentaire Partager sur d’autres sites More sharing options...
seb31 Posté 19 Décembre 2005 Auteur Partager Posté 19 Décembre 2005 Re, Je galère toujours sur cette règle ... mon url peut être du type /marque/prix/ comment dans ma règle mettre que le premier sous répertoire peut être des carctères = - mais pas (prix|departement|marque) ? ([A-Za-z0-9\-]+) En clair la règle doit accepter les caractères alphanumériques sauf les mot prix|departement|marque Est ce possible ? @+ Seb Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant