2014-10-01 8 views
6

Sto cercando di implementare questo- https://gist.github.com/MendelGusmao/2356310 Lua, shortener URL basato su nginx, l'unica modifica che voglio implementare è quando un parametro stringa di query viene fornito con URL abbreviato ho bisogno di prendere quel parametro e inserirlo nell'URL lungo.come ottenere parametri di query in lua o nginx?

ad es. http://google.com?test=2 sarà come http://abc.in/abc mentre si colpisce su http://abc.in/abc?test=3 Mi viene reindirizzato a - http://google.com?test=3.

Per questo ho bisogno di prendere parametri di stringa di query da $ request_URI, qualcuno può aiutare con qualche codice?

+0

http://wiki.nginx.org/HttpLuaModule#ngx.req.get_uri_args –

risposta

14

Dovresti essere in grado di utilizzare ngx.var.arg_name dove name è il nome del parametro di query a cui desideri accedere. Vedere Variables with Infinite Names section in this tutorial per dettagli sulla gestione dei parametri di query; puoi anche controllare il mio blog post per gli esempi Lua nginx/openresty.

In alternativa, è possibile utilizzare ngx.req.get_uri_args() per recuperare tutti i parametri di query come un'unica tabella. Vedi this section nella stessa esercitazione per il breve confronto tra questi metodi.

5

È inoltre possibile utilizzare ngx.var.QUERY_STRING per accedere alla stringa di query e visualizzarla e analizzarla.