seb31 Posté 14 Décembre 2005 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
Dan Posté 14 Décembre 2005 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
seb31 Posté 14 Décembre 2005 Auteur 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
seb31 Posté 14 Décembre 2005 Auteur 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
seb31 Posté 19 Décembre 2005 Auteur 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant