Nginx réécrit le point d’interrogation

Je souhaite redirect une URL comme http://my-site.fr/?param1=xx&param2=xx&param3==xx vers la page d’accueil mais cela ne fonctionne pas.

Pourriez-vous m’aider ? Je teste beaucoup de syntaxe mais rien ne fonctionne correctement

rewrite ^/?param1=xx&param2=xx&param3==xx http://my-site.fr permanent; 

Pourriez-vous m’aider ?

Je vous remercie

Le ? et tout ce qui suit est la chaîne de requête et ne fait pas partie de l’URI normalisé utilisé par nginx dans location directives d’ location et de rewrite .

Vous pouvez tester la présence d’une chaîne de requête, puis utiliser la rewrite pour les supprimer:

 if ($args) { rewrite ^/$ /? permanent; } 

Voir ce document pour plus de détails.

Syntaxe:

 if ($args ~ "(^|&)param1=xx($|&)"){ set $rule_0 1$rule_0; } if ($args ~ "(^|&)param2=xx($|&)"){ set $rule_0 2$rule_0; } if ($args ~ "(^|&)param3=xx($|&)"){ set $rule_0 3$rule_0; } if ($rule_0 = "321"){ rewrite ^/$ /? permanent; }