使用GET表单中的mod_rewrite清除网址

时间:2010-11-07 18:07:27

标签: mod-rewrite refresh clean-urls

我有一个包含2个字段(类别和关键字)的搜索表单。根据用户输入的URL看起来像:

search.php?cat=&search=&agree=agree_terms&go=Go

我对其他网页有一些re_write规则很好但我仍然坚持如何处理这个搜索表单

我遇到了一个解决方案,建议将mod_rewrite与来自其他页面的php元刷新相结合。我设法让这个工作,但我发现这可能不是一个搜索引擎友好的解决方案。

我是否可以通过仅使用mod_rewrite规则从GET表单中获取干净的网址?

1 个答案:

答案 0 :(得分:0)

如果您有固定数量的参数,可以尝试类似:

RewriteRule ^query/arg_1/([^/]*)/arg_n/([^/]*)/$ search.php?arg_1=\1&arg_n=\2

(依此类推)

这会将/query/arg_1/value_1/arg_n/value_n/转换为/search.php?arg_1=value_1&arg_n=value_n,但您必须确保正确转义值。

链接像这样的“获取”网址而不是使用默认参数或隐藏字段的实际动机超出了我的范围。