If statement 由\u lua\u块重写\u后变量不工作
请参见以下代码:If statement 由\u lua\u块重写\u后变量不工作,if-statement,nginx,lua,set,If Statement,Nginx,Lua,Set,请参见以下代码: set $RUN_VERSION 'current'; rewrite_by_lua_block { .... ngx.var.RUN_VERSION = 'new' } echo $RUN_VERSION; -------------------- visit the server: new It seems work. ======================================================== set $RUN_VER
set $RUN_VERSION 'current';
rewrite_by_lua_block {
....
ngx.var.RUN_VERSION = 'new'
}
echo $RUN_VERSION;
--------------------
visit the server: new
It seems work.
========================================================
set $RUN_VERSION 'current';
rewrite_by_lua_block {
....
ngx.var.RUN_VERSION = 'new'
}
echo $RUN_VERSION;
if ($RUN_VERSION = "new"){
echo "11111";
}
if ($RUN_VERSION = "current"){
echo "22222";
}
--------------------
visit the server: 22222
第二种情况中的问题:
1.echo$RUN_版本;什么也看不出来。
2.它应该显示11111最简单的修复方法是在nginx配置中打开 我认为默认情况下禁用该功能是有原因的(可能是性能原因)。它在lua nginx模块的文档中的某个地方说,
if
s总是在rewrite\u by\u lua\u块
之前运行。不过,可以选择改变这种行为。