我想重写表单提交以清理网址,以便example.com/search/go?term=foo
成为example.com/search/foo
我该怎么做?
答案 0 :(得分:0)
您可以更改HTML中表单元素的action属性中调用的URL。或者,您可以在按钮上的OnClick JavaScript事件处理程序中设置它。
您不需要mod_rewrite和.htaccess来完成此任务。
但是,您可以使用mod_rewrite将非文档的所有内容重定向到索引控制器脚本并在那里进行翻译。
RewriteEngine on
RewriteBase /
RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php
Zend Framework就是这样做的,行为看起来像example.com/search/foo
而不是example.com/search/go?term=foo
。当然,search
需要是一个脚本。
答案 1 :(得分:0)
使用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查询字符串,redirect到所需路径。