Aller au contenu

Url rewriting - Sous répertoire ou pas


Sujets conseillés

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

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

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

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

Veuillez vous connecter pour commenter

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



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