nginx用参数重写url

我有这种types的URL:

http://www.example.com/?param1=val1&param2=&param3=val3&param4=val4&param5=val5 

我想把它redirect到这个:

 http://www.example.com/newparam/val3/val4 

所以我试过这个重写规则没有成功:

 rewrite "/?param1=val1&param2=&param3=(.+)&param4=(.+)&param5=(.+)" http://www.example.com/newparam/$1/$2 redirect; 

nginx不能处理查询参数吗?

编辑:我不想重写所有的请愿书。 我只需要重写那个URL,而不影响其他的。

好的,感谢rzab最初的帮助,我已经将他的规则重新定义为这个工作的解决scheme:

 location / { if ($args ~* "/?param1=val1&param2=&param3=[0-9]+&param4=.+&param5=[0-9]+") { rewrite ^ http://www.example.com/newparam/$arg_param3/$arg_param4? last; } } 

我只是添加了一个条件,以避免无限recursion,和? 在规则的最后摆脱了最初的参数 。 它完美的作品:)

 location = / {
  重写^ http://www.example.com/newparam/$arg_param3/$arg_param4;
 }