Je voudrais réécrire les soumissions de formulaire pour nettoyer les URL, de sorte que example.com/search/go?term=foo
devient example.com/search/foo
Utilisez .htaccess pour donner des URL propres soumissions de formulaire
Comment puis-je cela?
Je voudrais réécrire les soumissions de formulaire pour nettoyer les URL, de sorte que example.com/search/go?term=foo
devient example.com/search/foo
Utilisez .htaccess pour donner des URL propres soumissions de formulaire
Comment puis-je cela?
Vous pouvez modifier l'URL appelée dans l'attribut action de l'élément de formulaire en HTML. Vous pouvez également le définir dans un gestionnaire d'événement OnClick JavaScript sur un bouton.
Vous n'avez pas besoin de mod_rewrite et de .htaccess pour accomplir ceci. Cependant, vous pouvez utiliser mod_rewrite pour rediriger tout ce qui n'est pas un document vers un script de contrôleur d'index et y effectuer la traduction.
RewriteEngine on
RewriteBase/
RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php
Voilà comment Zend Framework, il le fait, et les actions ressemblent à example.com/search/foo
au lieu de example.com/search/go?term=foo
. Bien sûr, search
aurait besoin d'être un script.
Utilisation JavaScript:
<input type="text" id="search_term" />
<input type="button" value="Search" onclick="goSearch()" />
<script type="text/javascript">
function goSearch() {
var term = document.getElementById("search_term");
window.location = "http://example.com/search/" + escape(term);
}
</script>
URL encode la chaîne de requête et redirect à la trajectoire souhaitée.