Mod rewrite 从GET表单使用mod_重写清理URL

Mod rewrite 从GET表单使用mod_重写清理URL,mod-rewrite,refresh,clean-urls,Mod Rewrite,Refresh,Clean Urls,我有一个带有2个字段(类别和关键字)的搜索表单。根据用户输入的URL,如下所示: search.php?cat=&search=&agree=agree_terms&go=Go RewriteRule ^query/arg_1/([^/]*)/arg_n/([^/]*)/$ search.php?arg_1=\1&arg_n=\2 我有一些为其他页面重新编写的规则,这些规则很好,但我一直在思考如何处理这个搜索表单 我遇到了一个解决方案,建议将mod_重写与来自

我有一个带有2个字段(类别和关键字)的搜索表单。根据用户输入的URL,如下所示:

search.php?cat=&search=&agree=agree_terms&go=Go
RewriteRule ^query/arg_1/([^/]*)/arg_n/([^/]*)/$ search.php?arg_1=\1&arg_n=\2
我有一些为其他页面重新编写的规则,这些规则很好,但我一直在思考如何处理这个搜索表单

我遇到了一个解决方案,建议将mod_重写与来自附加页面的php元刷新相结合。我设法让这个工作,但它对我来说,这可能不是一个搜索引擎友好的解决方案


有没有一种方法可以只使用mod_rewrite规则从GET表单获得干净的URL?

如果有固定数量的参数,可以尝试以下操作:

search.php?cat=&search=&agree=agree_terms&go=Go
RewriteRule ^query/arg_1/([^/]*)/arg_n/([^/]*)/$ search.php?arg_1=\1&arg_n=\2
(等等)

这将把
/query/arg\u 1/value\u 1/arg\u n/value\u n/
转换为
/search.php?arg\u 1=value\u 1&arg\u n=value\u n
,但必须确保正确转义值

我无法理解这样链接“get”URL而不是使用默认参数或隐藏字段的实际动机