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

时间:2015-05-05 08:08:21

标签: regex nginx

您好我想重写以下网址:

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

为:

example.com/?_escaped_fragment_=items%2Fxxx

我的配置看起来像这样,我只是无法弄清楚正则表达式从参数中删除第一个'%2F'。

 location / {

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

}

2 个答案:

答案 0 :(得分:0)

这样的事情:

 location / {

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

答案 1 :(得分:0)

这为我完成了这项工作:

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