nginx 用可能的查询重写

nginx rewrites with possible query

我想要一个 nginx 重写规则,希望在一行代码中,因为我必须制作一堆这些,可以匹配和重定向其中之一:

/short_url
/short_url?utm_source=email

没有匹配和重定向:

/short_url/page.html
/short_url/page.html?utm_source=email

如果查询字符串存在,我想传递它。

我希望这会奏效,但没有:

rewrite (?i)^/short_url /new_short_url$is_args$args permanent;

秘诀是什么?

URL 参数总是通过 rewrite 传递,无需在新的 URL.

中显式声明它们
## /short_url
## /short_url?utm_source=email
rewrite ^/short_url(\?utm_source=email)?$ /new_uri