使用.htaccess为表单提交干净的URL

时间:2010-06-04 16:42:39

标签: .htaccess

我想重写表单提交以清理网址,以便example.com/search/go?term=foo成为example.com/search/foo

我该怎么做?

2 个答案:

答案 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到所需路径。