Question

J'ai activé la réécriture d'URL sur mon site PHP avec Apache ( http://example.com/ index.php? param = 12 devient http://example.com/index/param/ 12 ).

J'ai quelques formulaires qui sont dans GET au lieu de POST.

Après avoir soumis le formulaire, l'URL résultante n'est pas réécrite.

Est-il possible de conserver les URL réécrites après avoir soumis un formulaire GET?

UPDATE: j'ai trouvé cet article sur le sujet http://matthewjamestaylor.com/blog/how-to-post-forms-to-clean-rewritten-urls , mais je n'aime vraiment pas l'idée de rediriger vers une URL réécrite. N'y a-t-il vraiment aucun moyen de conserver les URL réécrites sans rediriger les utilisateurs?

UPDATE 2: Voici un exemple de ce que j'essaie de faire. Disons que j'ai un formulaire simple comme celui-ci:

<form method="get" action="">
   <fieldset>
      <input type="text" name="q" />
      <input type="submit" value="Search" />
   </fieldset>
</form>

et disons que mon URL est http://example.com/index/param/12

Après avoir soumis le formulaire GET, l’URL devient http: // example.com/index/param/12?q=my-input-text , alors que j'aimerais obtenir une URL réécrite telle que http://example.com/index/param/12/q/my-input-text

Était-ce utile?

La solution

On dirait que si vous voulez que votre formulaire accède directement à / q / my-input-text , vous devez utiliser JavaScript pour que cela se produise dans le onSubmit du formulaire. / p>

Autres conseils

apache mod_rewrite ne traite que les URL entrantes (de requête) - il n’a aucun contrôle sur les URL générées dans vos scripts php. C’est quelque chose que vous devriez prendre soin de vous.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top