Regex 如何重写/删除第一个';%2F&x27;从nginx中的参数

Regex 如何重写/删除第一个';%2F&x27;从nginx中的参数,regex,nginx,Regex,Nginx,您好,我想重写以下url: example.com/?_escaped_fragment_=%2Fitems%2Fxxx 致: 我的配置看起来像这样,我只是想不出要从参数中删除第一个“%2F”的正则表达式 location / { if ($args ~ "_escaped_fragment_=(.*)") { rewrite ^_escaped_fragment_=%2F ???? permanent; } } 大概是这样的: location / { i

您好,我想重写以下url:

example.com/?_escaped_fragment_=%2Fitems%2Fxxx
致:

我的配置看起来像这样,我只是想不出要从参数中删除第一个“%2F”的正则表达式

 location / {

  if ($args ~ "_escaped_fragment_=(.*)") {
      rewrite ^_escaped_fragment_=%2F ???? permanent;
  }

}
大概是这样的:

 location / {

  if ($args ~ "_escaped_fragment_=(.*)") {
      rewrite ^_escaped_fragment_=%2F(.*) example.com/?_escaped_fragment_=$1 permanent;
  }
}

这帮我完成了任务:

if ($args ~ "_escaped_fragment_=/(.+)") {
      set $key1 $1;
      rewrite ^ /?_escaped_fragment_=$key1? break;
}

不幸的是,这不起作用。我已经用
rewrite^/*\?测试了if块?http://$server\u name/test
和nginx将我重定向到测试页面。但是使用
^\u转义\u片段\%2F(.*)http://$server\u name/?\u转义\u片段\=$1永久什么都没有发生
if ($args ~ "_escaped_fragment_=/(.+)") {
      set $key1 $1;
      rewrite ^ /?_escaped_fragment_=$key1? break;
}