как получить параметр запроса в lua или nginx?
Я пытаюсь реализовать это- https://gist.github.com/MendelGusmao/2356310 Lua, nginx на основе URL shortener, единственное изменение, которое я хочу реализовать, - это когда какой-то параметр строки запроса поставляется с укороченным URL, мне нужно взять этот параметр и вставить в длинный URL.
например, http://google.com?test=2 будет как http://abc.in/abc в то время как наезд на http://abc.in/abc?test=3 я перейду на - http://google.com?test=3.
для этого мне нужно взять параметры строки запроса из $request_URI, может кто-нибудь помочь с кодом?
3 ответов
вы должны иметь возможность использовать ngx.var.arg_name
здесь name
- это имя параметра запроса, который вы хотите открыть. См.переменные с бесконечными именами раздел в этом уроке для получения подробной информации об обработке параметров запроса; вы также можете проверить my блоге для примеров Lua nginx/openresty.
в качестве альтернативы, вы можете использовать ngx.req.get_uri_args()
для получения всех параметров запроса в одну таблицу. См.в этом разделе в том же учебнике для краткого сравнения между этими методами.
вы также можете использовать ngx.var.QUERY_STRING
для доступа к строке запроса и unescape и ее анализа.
вы можете получить параметр запроса только с помощью nginx, используя $arg_test
, test
- имя параметра запроса в данном примере.
это задокументировано в http://nginx.org/en/docs/http/ngx_http_core_module.html#var_arg_.