IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

URL rewriting pour des paramètres en nombre variable dans le chemin


Sujet :

Apache

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    378
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 378
    Points : 94
    Points
    94
    Par défaut URL rewriting pour des paramètres en nombre variable dans le chemin
    Bonsoir,

    Voici la situation :
    site de base : www.monsite.com/
    la page affiche une extraction d'une base de données

    Pays | Ville | Mois

    J'ai 3 listes issue d'une base de données
    chaque zone est un lien cliquable et entre parenthèse il y a le nombre d'enregistrement par rapport aux critères.

    Le but est de pouvoir restreindre la liste en cliquant sur un pays et/ou une ville et/ou un mois. Les trois sont sélectionnables et dans n'importe quel ordre.

    Exemple, je peux obtenir : France ou Bruxelles ou Juillet dans un premier temps
    ensuite si on impose un ordre de lecture interne du style Pays, Ville, Mois
    si on part de Juillet et que l'on clique sur belgique on obtient Belgique/Juillet

    Question comment faire au niveau de l'url rewriting pour affecter les bonnes données aux bonnes variables pour effectuer la sélection suivante.

    Merci

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est quoi le rapport avec l'URL rewriting ? Si ton formulaire ou ton code JavaScript est bien fait, les variables de pays, ville et mois sont transmis dans l'URL en tant que paramètre.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    378
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 378
    Points : 94
    Points
    94
    Par défaut
    J'ai peut être pas tout compris au niveau de l'url rewriting


    mais au niveau des urls

    je peux obtenir

    www.monsite.com/France
    www.monsite.com/France/Juillet
    www.monsite.com/France/Paris
    www.monsite.com/France/Paris/Juillet
    www.monsite.com/Juillet
    www.monsite.com/Paris/Juillet
    www.monsite.com/Paris

    sachant que les données France, Paris, Juillet sont issues d'une base de données.

    Et que derriere dans la base je dois effectuer une sélection avec un AND quand la zone est renseignée.

    J'ai trouvé un site dans un autre domaine qui semble utiliser cette technique.

    http://www.selectvoyage.com/sejour/aqqqeqjaf.php

    Merci de votre aide

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    OK, c'est ce que j'avais cru comprendre mais je voulais confirmation.

    Vu comme ça, on ne peut pas partir du principe que chaque paramètre a une place fixe dans l'URL : le premier élément de l'URL est tantôt une ville, tantôt un mois, etc. Ce n'est jouable que si tu construis un .htaccess de 1000 km de long avec toutes les villes et les pays que tu connais, les 12 mois et de faire toutes les combinaisons possibles (bonne chance !!!).

    La solution c'est tout simplement d'écrire http://www.monsite.com/pays-France/v...s/mois-Juillet par exemple et pas simplement www.monsite.com/France/Paris/Juillet : en préfixant chaque "token" par un identifiant spécifique, on sait tout de suite reconnaître de quel variable il s'agit. Donc, si on part du principe que tu suis cette règle, on écrit le .htaccess suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RewriteEngine on
     
    RewriteRule pays-([^/]*) tonscript.php?pays=$1 [QSA]
    RewriteRule ville-([^/]*) tonscript.php?ville=$1 [QSA]
    RewriteRule mois-([^/]*) tonscript.php?mois=$1 [QSA]
    A TESTER !!!

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    378
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 378
    Points : 94
    Points
    94
    Par défaut
    Merci pour ta réponse rapide,j 'avais pensé à cela mais je pensais qu'il y avait une autre façon vu que le site en référence ci dessus arrive le faire de cette façon.

    Si quelqu'un à une autre explication, je suis preneur ;-)

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est un peu le même genre : chaque paramètre est reconnaissable individuellement mais en moins visible que ma méthode :
    • Date : seul paramètre à répondre au masque [0-9][0-9][0-9][0-9]-[0-9][0-9]
    • Ville : chaîne de caractères quelconque suivie de _([A-Z][A-Z])
    • Prix : seul paramètre à répondre au masque [0-9]+_-_[0-9]+_Eeuro_
    • Destination : toute autre chaîne de caractères qui ne répond pas aux masques précédents

    Tu peux faire pareil ou avoir des URL plus explicites comme je le propose.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    378
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 378
    Points : 94
    Points
    94
    Par défaut
    Franchement un grand merci car j avais essaye de voir un tag
    complementaire mais je ne
    m étais pas rendu compte de la
    subtilité.
    Pour moi le
    point est donc clos

    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. URL rewriting pour des images
    Par walidEduc dans le forum Apache
    Réponses: 6
    Dernier message: 20/03/2013, 16h28
  2. [URL rewriting] Ajouter des paramètres d'URL
    Par adeltimple dans le forum Apache
    Réponses: 1
    Dernier message: 25/12/2010, 00h45
  3. Réponses: 6
    Dernier message: 12/12/2010, 01h12
  4. [URL rewriting] Supprimer des paramètres de l'URL
    Par yann18 dans le forum Apache
    Réponses: 5
    Dernier message: 09/06/2010, 14h04
  5. Réponses: 4
    Dernier message: 15/08/2007, 22h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo