动态查询字符串位置所需的Apache Mod-Rewrite规则条件

时间:2012-02-20 08:50:31

标签: apache mod-rewrite

我有一个像http://localhost/test.html?param1=a&param2=b&param3=c这样的网址 我想重写条件来检查查询参数param1,param2和param3可以是任何顺序..可能如下所示

http://localhost/test.html?param3=a&param2=b&param1=c
http://localhost/test.html?param2=a&param3=b&param1=c
http://localhost/test.html?param3=a&param1=b&param2=c

请帮助我如何重写此查询字符串的条件..我可以用[OR]条件写出所有组合,但有没有最好的方法来实现这个?

由于

1 个答案:

答案 0 :(得分:0)

像这样写:

RewriteCond %{QUERY_STRING} (^|&)param1=[^&]*(&|$) [NC,OR]
RewriteCond %{QUERY_STRING} (^|&)param2=[^&]*(&|$) [NC,OR]
RewriteCond %{QUERY_STRING} (^|&)param3=[^&]*(&|$) [NC]
RewriteRule ^test\.html$ target-uri-goes-here? [NC,L]