aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_variables.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/http/ngx_http_variables.c')
-rw-r--r--src/http/ngx_http_variables.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/http/ngx_http_variables.c b/src/http/ngx_http_variables.c
index 12ab5154b..d66f0dc6c 100644
--- a/src/http/ngx_http_variables.c
+++ b/src/http/ngx_http_variables.c
@@ -276,7 +276,12 @@ ngx_http_get_variable(ngx_http_request_t *r, ngx_str_t *name)
if (v[key].name.len == name->len
&& ngx_strncmp(v[key].name.data, name->data, name->len) == 0)
{
- return v[key].handler(r, v[key].data);
+ if (v[key].flags & NGX_HTTP_VAR_INDEXED) {
+ return ngx_http_get_indexed_variable(r, v[key].data);
+
+ } else {
+ return v[key].handler(r, v[key].data);
+ }
}
if (ngx_strncmp(name->data, "http_", 5) == 0) {
@@ -701,7 +706,7 @@ ngx_http_variables_init_vars(ngx_conf_t *cf)
{
v[i].handler = av[n].handler;
v[i].data = av[n].data;
- v[i].flags = av[n].flags;
+ v[i].flags = av[n].flags | NGX_HTTP_VAR_INDEXED;
goto next;
}