openresty 根據參數 重定向請求

1、nginx配置文件增加配置節

    location /a {
        default_type 'text/html';
        lua_code_cache on;
        rewrite_by_lua_file /data/lua/a.lua;
    }
    location @b {
        default_type 'text/html';
        lua_code_cache on;
        content_by_lua_file /data/lua/b.lua;
    }
    location @c {
        default_type 'text/html';
        lua_code_cache on;
        content_by_lua_file /data/lua/c.lua;
    }


vi a.lua

ngx.req.read_body()
local args, err = ngx.req.get_post_args()
if args["t1"]==nil then
  ngx.req.set_uri_args("t1=ccc")
  ngx.exec("@b")
else
  ngx.req.set_uri_args("t1=ccc")
  ngx.exec("@c")
end


vi b.lua

ngx.req.read_body()
local args, err = ngx.req.get_post_args()
ngx.say("b")
ngx.say(ngx.var.arg_t1)
ngx.say(args["t1"])
ngx.say(ngx.req.get_headers()["AAA"])   

                                  

vi c.lua

ngx.req.read_body()
local args, err = ngx.req.get_post_args()
ngx.say("c")
ngx.say(ngx.var.arg_t1)
ngx.say(args["t1"])
ngx.say(ngx.req.get_headers()["AAA"])                                

--[[

分別顯示post,get參數和header信息

]]--

模擬發送請求,攜帶和不攜帶POST參數,顯示不同的結果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章