Version complète: sur le forum Webmaster Hub : re-ecriture de l'url généré par un formulaire
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
adn
Bonjour,

Y a-t-il moyen re-writer l'url généré par la méthode GET ou POST d'un formulaire ?

Je m'explique avec un exemple:

J'ai un formulaire avec un champ q que je déclare avec la méthode GET et le lien cherche.php. Il me génère donc une url du type:
www.mondom.com/cherche.php?q=tutu

mais je voudrais plutot, pour être cohérent avec tout mon rewriting:
www.mondom.com/tutu/
Dan
Salut Adn,

A part en "bidouillant" en Javascript pour changer l'URL côté client, il n'existe pas d'autre solution.

Mais dans ce cas, cela ne conviendra pas aux moteurs, ni à ceux qui ont désactivé javascript.

Dan
adn
Merci Dan,

Je cherchais effectivement une solution non javascript bien sur. Bon tanpis. Cette url fait un peu tache dans l'ensemble du site qui est totalement rewrité mais tanpis.
TheRec
Une simple redirection à la soumission de ton formulaire fera l'affaire je pense. Lorsque ton formulaire est soumis, l'envoie se fait vers la page "www.mondom.com/cherche.php?q=tutu" dans cette page correspondant au traitement tu peux simplement effectuer une redirection :
CODE
<?php
  header("HTTP/1.1 301 Moved Permanently");
  header("Location: http://www.mondom.com/".$_GET['q']."/");
  exit(); ?>

Il faut exécuter ceci avant tout autre envoi de caractères vers le navigateur (au tout début de ton fichier).
Ensuite tu gères ta réécriture comme tu l'aurais fait si l'utilisateur avait directement tapé l'URL -http://www.mondom.com/tutu/ . Bien entendu si tu veux utiliser uniquement un fichier PHP (cherche.php) pour effectuer cette redirection et la recherche tu peux simplement rajouter un paramètre supplémentaire lorsque fais la réécriture sur lequel tu feras un test conditionnel (if) pour déterminer s'il faut faire la redirection avec header (pour effectuer ensuite la réécriture) ou faut effectuer la recherche et envoyer les résultats (parce que l'utilisateur vient d'être redirigé vers l'URL réécrite). Ou alors tu fais deux fichiers distincts, un pour la redirection avec header vers l'URL réécrite et un pour effectuer la recherche (qui sera la cible de ta réécriture).

J'ai essayé de te décrire le fonctionnement complet, j'espère que je ne t'ai pas trop embrouillé wink.gif
adn
C'est clair très TheRec, je vais faire çà de ce pas.

Merci smile.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.