Nginx reescrit pour une URL avec des paramètres

J'ai une URL de ce type:

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

Et je veux la rediriger vers celui-ci:

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

J'ai donc essayé cette règle de réécriture sans succès:

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

Nginx ne peut-il pas traiter les paramètres de la requête?

EDIT: Je ne veux pas réécrire toutes les pétitions. Je n'ai besoin que de réécrire cette URL, sans affecter les autres.

D'accord, grâce à l'aide initiale de rzab, j'ai redéfini sa règle à cette solution de travail:

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

Je viens d'ajouter une condition pour éviter une récurrence infinie, et un? À la fin de la règle pour se débarrasser des params initiaux . Il fonctionne parfaitement 🙂

 Emplacement = / {
   Réécrivez ^ http://www.example.com/newparam/$arg_param3/$arg_param4;
 }