如何在lua或nginx中获取查询参数?

Man*_*nnu 7 lua nginx request.querystring url-shortener query-string

我正在尝试实现这个 - https://gist.github.com/MendelGusmao/2356310 Lua,基于nginx的URL缩短器,我想要实现的唯一更改是当一些查询字符串参数带有缩短的URL时我需要获取该参数并插入长URL.

例如 http://google.com?test=2 会像http://abc.in/abc一样 点击http://abc.in/abc?test=3我会被重定向到 - http:// google .com?test = 3.

为此我需要从$ request_URI获取查询字符串参数,任何人都可以帮助一些代码吗?

Pau*_*nko 18

您应该能够使用的ngx.var.arg_name地方name就是你要访问的查询参数的名称.有关查询参数处理的详细信息,请参阅本教程中的"具有无限名称的变量"部分 ; 您也可以查看我的博客文章,了解Lua nginx/openresty示例.

作为替代方法,您可以使用ngx.req.get_uri_args()将所有查询参数检索为一个表.有关这些方法之间的简要比较,请参阅同一教程中的此部分.


Jer*_*ony 6

您还可以使用ngx.var.QUERY_STRING访问查询字符串和unescape并解析它.