Nginx的301redirect,如果string给出

我想为我的nginx服务器块中的特定查询创build一个永久redirect。 举例来说,我的当前链接到PHP脚本的URL已经:

website.com/?hash=12345 

所以我需要将其更改为website.com/folder/?hash=12345有没有一种方法来redirect永久只有当参数?哈希=在查询中给出并离开所有其他查询如何?

编辑:我在这里做了一些testing

  location ~* /.*hash\=.*/ { rewrite ^ https://mysite.eu/bluetracker/$request_uri? permanent; } 

但可悲的是,这也是行不通的

这很简单。 只要检查参数的存在。

 location / { if ($arg_hash) { return 301 /folder/$is_args$args; } # everything else... } 

请注意, $is_args返回一个? 如果有查询string,否则为空string。 $args返回整个查询string。