ngx.var.arg_xx 与 ngx.req.get_uri_args["xx"] 两者都是为了获取请求 uri 中的参数,例如对于 url:
http://pureage.info?strider=1  
为了获取输入参数 strider,以下两种方法都可以:
local strider = ngx.var.arg_strider
local strider = ngx.req.get_uri_args["strider"]
差别在于,当请求 uri 中有多个同名参数时,ngx.var.arg_xx 的做法是取第一个出现的值,ngx.req_get_uri_args["xx"] 的做法是返回一个 table,该 table 里存放了该参数的所有值,例如,当请求 uri 为:
http://pureage.info?strider=1&strider=2&strider=3&strider=4  
此时,ngx.var.arg_strider 的值为“1”,而 ngx.req.get_uri_args["strider"] 的值为 table ["1", "2", "3", "4"]。因此,ngx.req.get_uri_args 属于ngx.var.arg_ 的增强。