Regex 如何重写/删除第一个';%2F&x27;从nginx中的参数
您好,我想重写以下url: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
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;
}