how to get query parameter in lua or nginx?

mannuscript picture mannuscript · Oct 1, 2014 · Viewed 29.2k times · Source

I am trying to implement this- https://gist.github.com/MendelGusmao/2356310 Lua,nginx based URL shortener,The only change i want to implement is when some query string parameter comes with shortened URL i need to take that parameter and insert into the long URL.

e.g. http://google.com?test=2 will be like http://abc.in/abc while hitting on http://abc.in/abc?test=3 I get redirected to - http://google.com?test=3.

For that i need to take query string parameters from $request_URI, can any one help with some code?

Answer

Paul Kulchenko picture Paul Kulchenko · Oct 1, 2014

You should be able to use ngx.var.arg_name where name is the name of the query parameter you want to access. See Variables with Infinite Names section in this tutorial for details on query parameter handling; you may also check my blog post for Lua nginx/openresty examples.

As an alternative, you can use ngx.req.get_uri_args() to retrieve all query parameters as one table. See this section in the same tutorial for the brief comparison between these methods.