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 :

rewrite formulaire paramètres get


Sujet :

Apache

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 6
    Points
    6
    Par défaut rewrite formulaire paramètres get
    Bonjour à tous,

    Le problème est "simple".

    J'ai déjà mis en place sur mon site des règles de réécriture qui fonctionnent. En effet ce sont des liens que je met dans mes pages.

    Cependant, là le problème c'est que j'ai un formulaire (de recherche) qui envoie ses paramètres en GET.

    Je me retrouve avec l'url suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://loulouchea:8888/index.php?action=getLogement&ta=location&submit=Envoyer
    Mais je voudrais avoir une url du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://loulouchea:8888/location
    Ça c'est pour le début et comprendre le fonctionnement avec un paramètre à garder sur l'url. Mais j'ai également d'autres champs dans mon formulaire dont un par exemple qui s'appelle tl (type de logement) et que j'irais aussi mettre dans cette règle de ré-écriture par la suite.

    J'ai déjà parcouru l'ami google avec plusieurs sujets s'approchant plus ou moins de mon problème mais je n'arrive pas à l'appliquer à mon cas.

    J'ai "entendu parlé" de : %{QUERY_STRING} mais aussi de : [QSA] mais je n'y arrive pas.

    Si vous avez besoin d'autres informations pour comprendre le problème ou éclaircir mes intentions n'hésitez pas

    Merci d'avance et bonne journée !

  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
    Le secret c'est de passer par JavaScript pour construire l'URL http://loulouchea:8888/location. Avec les mécanismes standard HTML, ce n'est pas possible de construire ce genre d'URL en postant un formulaire GET.

    Pour la suite, si tu ajoutes des paramètres, il faut construire une URL du genre : /untruc/nom_param1/valeur_1/nom_param2/valeur_2/... Le /untruc sert à déclencher un jeu de règles de réécriture qui saura reconstruire la query string :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule ^untruc(.*)/([^/]+)/([^/]+)$ untruc$1?$2=$3 [QSA,L]
    RewriteRule ^untruc$ search.php [QSA,L]
    Je n'ai pas essayé mais ça doit le faire. Y a une autre discussion sur le forum Apache qui parle d'un truc similaire en récursif mais avec un pattern différent.

    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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/05/2009, 15h35
  2. récupération d'un paramètre get d'une url rewritée
    Par debido67 dans le forum Apache
    Réponses: 8
    Dernier message: 26/09/2008, 09h00
  3. Formulaire en GET et paramètres préétablis
    Par grandpa006 dans le forum Langage
    Réponses: 1
    Dernier message: 26/03/2008, 12h32
  4. [URL Rewriting] Masquer les paramètres GET
    Par remyli dans le forum Apache
    Réponses: 8
    Dernier message: 12/03/2008, 17h50
  5. [SERVLET]Traitement de formulaire paramètres GET et POST
    Par ederf dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 19/05/2006, 13h56

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