我如何 rewrite/remove 来自 nginx 参数的第一个 '%2F'
How can i rewrite/remove the first '%2F' from the parameter in nginx
你好我想重写以下url:
example.com/?_escaped_fragment_=%2Fitems%2Fxxx
至:
example.com/?_escaped_fragment_=items%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_= permanent;
}
}
这对我有用:
if ($args ~ "_escaped_fragment_=/(.+)") {
set $key1 ;
rewrite ^ /?_escaped_fragment_=$key1? break;
}
你好我想重写以下url:
example.com/?_escaped_fragment_=%2Fitems%2Fxxx
至:
example.com/?_escaped_fragment_=items%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_= permanent;
}
}
这对我有用:
if ($args ~ "_escaped_fragment_=/(.+)") {
set $key1 ;
rewrite ^ /?_escaped_fragment_=$key1? break;
}