删除 nginx 重写中的参数

时间:2021-04-30 12:00:48

标签: nginx redirect url-rewriting

我需要从执行重定向 301 的 url 中删除特定参数 on=ref

https://www.example.com/1223/page.php?on=ref
https://www.example.com/1223/page.php?param=1&on=ref&param=2

他们必须成为

https://www.example.com/1223/page.php
https://www.example.com/1223/page.php?param=1&param=2

我试试这个

#remove on=ref
if ($args ~ ^(?:on)=[^&]*$ ) {
  rewrite ^ $uri? last;
}
if ($args ~ ^(?:on)=[^&]*(?:&(.*))?$ ) {
  rewrite ^ $uri?$1? last;
}
if ($args ~ ^(.*)&(?:on)=[^&]*(&.*)?$ ) {
  rewrite ^ $uri?$1$2? last;
}
if ($request_uri ~ \?(.*&)?(on)= ) {
  return 301 $uri$is_args$args;
}

但它总是在没有任何参数的情况下重定向到主页

有人可以帮我吗?

0 个答案:

没有答案