Version complète: sur le forum Webmaster Hub : Réécriture sur un GET depuis un formulaire
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
tribords
Bonjour la communauté !

voilà ce que je cherche à faire : un formulaire qui passe des variables en GET avec une url de destination réécrite. Je sais comment afficher les résultats avec un url-rewriting, je ne sais juste pas comment passer d'un formulaire à cette url ...

exemple : quand on clique sur submit je veux obtenir :

/variable-1/type-neutre/prix-0-4/couleur-bleu

au lieu de ?variable=1&type=neutre&prix=0-4&couleur=bleu

Merci par avance !
cyberlaura
Bonjour Tribords,

la seule solution que je verrais serait de passer par javascript, avec un code du style
CODE
document.forms['monformulaire'].action = "mon url formatée"

appelé au moment du submit. Mais ça a le gros inconvénient de ne fonctionner que si javascript est activé.

Maintenant, l'intérêt des rewriting est pour faire semblant devant les moteurs. Que je sache, les moteurs ne valident pas encore les formulaires ?? Donc je ne comprend pas pour quelle raison tu voudrais faire ça...
TheRec
Bonjour,

Tu peux le faire en utilisant une page "intermédiaire" qui effectue une redirection (de préférence avec les en-tête HTTP et donc à priori la fonction header et le type de redirection HTTP de ton choix, 301 fera l'affaire) vers l'URL réécrite en se basant sur la paramètre passé en POST ou en GET (en fonction de ton choix) pour la composer.

cyberlaura> Si des utilisateurs publient une URL pointant vers des résultats de recherche dans un forum par exemple, cette URL non réécrite sera éventuellement indexée, je suppose que c'est cela que tribords souhaite éviter. Sinon effectivement, comme tu le dis, les moteurs de recherche ne soumettent pas les formulaires à l'heure actuelle.
cyberlaura
Merci pour la précision TheRec, et ta solution est très bien. Juste une remarque malgré tout : il parait qu'il n'est plus trop à la mode de faire des rewriting à tout va, d'autant plus sur des résultats de formulaires pour lesquels les URL seront encore pire rewritées que pas... Mais c'est juste mon point de vue.

tribords
cyberlaura > ça il faut le dire à mon client smile.gif

TheRec > merci beaucoup ça me semble correspondre : je reviens dire ici si c'est ok plus tard !
cyberlaura
Oups ! Si c'est pour un client alors, j'ai rien dit ! Au contraire, c'est clair qu'il faut faire comme ça wink.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.