{
ngx_http_core_loc_conf_t *lcf = conf;
+ u_char *args;
ngx_int_t overwrite;
ngx_str_t *value, uri;
ngx_uint_t i, n, nvar;
}
}
+ args = (u_char *) ngx_strchr(uri.data, '?');
+
for (i = 1; i < cf->args->nelts - n; i++) {
err = ngx_array_push(lcf->error_pages);
if (err == NULL) {
}
}
- err->uri = uri;
+ if (args) {
+ err->uri.len = args - uri.data;
+ err->uri.data = uri.data;
+ args++;
+ err->args.len = (uri.data + uri.len) - args;
+ err->args.data = args;
+
+ } else {
+ err->uri = uri;
+ err->args.len = 0;
+ err->args.data = NULL;
+ }
+
err->uri_lengths = uri_lengths;
err->uri_values = uri_values;
}
r->zero_in_uri = 0;
- args = NULL;
-
if (err_page->uri_lengths) {
if (ngx_http_script_run(r, &u, err_page->uri_lengths->elts, 0,
err_page->uri_values->elts)
p = u.data;
uri = &u;
+ args = NULL;
if (*p == '/') {
} else {
uri = &err_page->uri;
+ args = &err_page->args;
}
if (uri->data[0] == '/') {