orange
orange copied to clipboard
rewrite规则正则书写问题
在nginx.conf中定义的 rewrite ^/test/(.*)$ /JYDX/$1,在orange中的rewrite重写里应该怎么写,按照原样不起作用呢,在配置文件里正常
- 你可以学习下Orange变量提取模块如何使用,索引式提取和模板式提取应该如何取值
- 以下提供索引式提取demo,仅供参考
-
dashboard配置如下:
-
nginx.conf配置如下
location /rewrite/api/v2/ {
rewrite_by_lua_block {
local orange = context.orange
orange.redirect()
orange.rewrite()
}
access_by_lua_block {
local orange = context.orange
orange.access()
}
# proxy
echo '/api/v2';
header_filter_by_lua_block {
local orange = context.orange
orange.header_filter()
}
body_filter_by_lua_block {
local orange = context.orange
orange.body_filter()
}
log_by_lua_block {
local orange = context.orange
orange.log()
}
}
location /rewrite/api/v3/ {
rewrite_by_lua_block {
local orange = context.orange
orange.redirect()
orange.rewrite()
}
access_by_lua_block {
local orange = context.orange
orange.access()
}
# proxy
echo '/api/v3';
echo $args;
header_filter_by_lua_block {
local orange = context.orange
orange.header_filter()
}
body_filter_by_lua_block {
local orange = context.orange
orange.body_filter()
}
log_by_lua_block {
local orange = context.orange
orange.log()
}
}
-
curl -XGET http://ip:port/rewrite/api/v2/v3
,输出如下 /api/v3
谢谢