Url Rewriting + récupération GET

Discussion dans 'URL Rewriting et .htaccess' créé par lnsou, 26 Janvier 2010.

  1. lnsou
    lnsou Nouveau WRInaute
    Inscrit:
    26 Janvier 2010
    Messages:
    11
    J'aime reçus:
    0
    Bonjour,

    D'habitude j'arrive a m'en sortir en cherchant sur le forum mais là, je coince, j'ai donc décidé de m'inscrire pour vous posez la question :p

    Alors enfaite je voudrai récupéré les variables passé en GET pour les réécrire dans l'url..

    Exemple :

    index.php
    Code:
    <form action="index.php" method="GET">
    <input type="text" name="recherche"><br>
    <input type="submit" name="Recherchez" value="Recherchez">
    </form>
    
    Lorsque j'envoi, je voudrais me retrouver avec une url de ce type : http://www.monsite.com/la_valeur_du_champs_recherche

    donc $_GET['recherche']

    J'ai fais des tonnes de test et j'ai l'impression de tourné en rond :s pourtant ça doit pas être bien compliqué..

    Une idée ? une piste ? une solution ? :oops:
     
  2. Sullyvan
    Sullyvan WRInaute discret
    Inscrit:
    20 Mai 2008
    Messages:
    85
    J'aime reçus:
    0
    bonjour et bienvenue,

    si la question est de savoir comme passer de index.php?recherche=une-valeur à -http://monsite.com/recherche/une-valeur la réponse se trouve dans le javascript, donc remplacer le action="index.php" par action="javascript:traitement_formulaire()" et de traiter la soumission du formulaire dans le script avec des getElementById, et un self.location = 'recherche/....';

    Inconvénient de la méthode si le javascript est désactivé le formulaire de fonctionne pas !

    Autre question à se poser : est-ce utile de réécrire ce genre de requête ?
     
  3. lnsou
    lnsou Nouveau WRInaute
    Inscrit:
    26 Janvier 2010
    Messages:
    11
    J'aime reçus:
    0
    Euhh, pas besoin d'un sous répertoire "recherche" ...
    Par contre la solution du javascript me semble plus bancal qu'autre chose..(la raison du javascript désactivé)..

    J'ai d'ailleurs testé de désactivé le javacript et de testé sur un site qui fait ce que je voudrais faire..Et ca marche quand même donc il ne doit pas se servir du javascript ;)

    J'pense que ca doit pas être bien compliqué de faire ca avec l'url rewriting.. nan ?
     
  4. Sullyvan
    Sullyvan WRInaute discret
    Inscrit:
    20 Mai 2008
    Messages:
    85
    J'aime reçus:
    0
    Ce n'est pas compliqué au niveau du rewriting c'est le formatage de l'url qui est délicat en fait.

    Sans passer par du javascript, je pense que la méthode suivant doit marcher:
    1- soumission du formulaire vers une page qui créé l'url
    Code:
    <?php header('location: /'.$_GET['recherche']); ?>
    2- le rewriting classique (version bourrin)
    Code:
    RewriteRule ^([A-Za-Z0-9])$ recherche.php?rechercher=$1 [NC]
    Je veux bien l'url du site avec l'exemple pour voir comment ils font.
     
  5. lnsou
    lnsou Nouveau WRInaute
    Inscrit:
    26 Janvier 2010
    Messages:
    11
    J'aime reçus:
    0
    L'url du site est : http://ineedfile.com , après fait une recherche et c'est ce résultat là que j'cherche a avoir :/

    J'ai essayé ton bout de script : Erreur 500 .. même en essayant de l'adapté...pareil :/
     
  6. Sullyvan
    Sullyvan WRInaute discret
    Inscrit:
    20 Mai 2008
    Messages:
    85
    J'aime reçus:
    0
    la méthode de soumission du formulaire est la même que ce que je t'ai décrit plus haut.

    j'ai oublié un + dans la formule magique
    Code:
    RewriteEngine on
    RewriteRule ^([A-Za-z0-9]+)$ recherche.php?rechercher=$1 [NC]
    ça fonctionne comme ça ?
     
  7. lnsou
    lnsou Nouveau WRInaute
    Inscrit:
    26 Janvier 2010
    Messages:
    11
    J'aime reçus:
    0
    Déjà j'ai plus l'erreur 500.. mais l'url reste la même :/
     
  8. Sullyvan
    Sullyvan WRInaute discret
    Inscrit:
    20 Mai 2008
    Messages:
    85
    J'aime reçus:
    0
    j'ai testé et ça fonctionne.

    je résume:
    1- le formulaire
    Code:
    <form action="formater-url.php" method="GET">
    <input type="text" name="recherche"><br>
    <input type="submit" name="Recherchez" value="Recherchez">
    </form>
    2- formater-url.php
    Code:
    <?php header('location: '.$_GET['recherche']); ?>
    3- le fichier .htaccess
    Code:
    RewriteEngine on
    RewriteRule ^([A-Za-z0-9]+)$ recherche.php?q=$1 [NC]
    4- recherche.php
    Code:
    <?php echo $_GET['q']; ?>
    avec en 2 une fonction qui nettoie $_GET['recherche'] pour n'avoir que les caractères autorisés
     
  9. lnsou
    lnsou Nouveau WRInaute
    Inscrit:
    26 Janvier 2010
    Messages:
    11
    J'aime reçus:
    0
    Ah niquel, j'ai testé, ca marche, par contre..

    Code:
    <?php header('location: '.$_GET['recherche']); ?>
    c'est pas plutot :

    Code:
    <?php header('location: recherche.php?q='.$_GET['recherche']); ?>
    En faite, si je laisse le premier : ca me donne bien une url comme je veux par contre, 404 not found (normal)..
    C'est pourquoi recherche.php est là...
    donc j'ai remplacé par le 2eme et là ça ne réécrit plus mais j'arrive bien sur recherche.php avec l'echo de $_GET['q']

    il est censé réécrire recherche.php?q=$1 par $_GET['q'] nan ?


    [edit]
    En faite, j'ai rien dit, ca marche, mais seulement avec un mot..si je sépare par un espace, tiret, trait ==> 404
    J'pense que c'est juste dans le htaccess ou il faut autorisé les caractères, j'ai pas le temps de regarder ce soir mais j'm'y replonge demain..et j'reviens faire un p'tit retour :p
    [/edit]

    [edit2]
    Enfaite c'était bien _a.. j'ai rajouté le '-' comme caractères autorisé et hop c'est bon :D

    la ligne du htaccess est maintenant :

    Code:
    RewriteRule ^([A-Za-z0-9-]+)$ recherche.php?q=$1 [NC]
    
    Encore merci pour ton aide :)
    [/edit2]
     
Chargement...
Similar Threads - Rewriting récupération Forum Date
récupération du get après rewriting URL Rewriting et .htaccess 21 Juin 2019
supprimer /index.html sans url rewriting, possible ? URL Rewriting et .htaccess 13 Novembre 2019
Je bloque sur le rewriting des URL contenant un ? URL Rewriting et .htaccess 3 Septembre 2019
Ralentissement url rewriting URL Rewriting et .htaccess 1 Mai 2019
URL Rewriting Débuter en référencement 17 Avril 2019
Conflit de redirection 301 et Urlrewriting Netlinking, backlinks, liens et redirections 20 Février 2019
URL REWRITING et redirection 301 URL Rewriting et .htaccess 24 Janvier 2019
URL Rewriting : difficultés avec RewriteCond ? URL Rewriting et .htaccess 5 Décembre 2018
Résolu URL Rewriting : Garder l'adresse non transformée dans le navigateur URL Rewriting et .htaccess 2 Décembre 2018
Mes débuts dans l'URL Rewriting URL Rewriting et .htaccess 14 Novembre 2018
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice