fix noregex for inclusive locations
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c index 776438b..2379dcc 100644 --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c
@@ -1122,13 +1122,28 @@ { ngx_int_t rc; ngx_http_core_loc_conf_t *pclcf; +#if (NGX_PCRE) + ngx_int_t n; + ngx_uint_t noregex; + ngx_http_core_loc_conf_t *clcf, **clcfp; + + noregex = 0; +#endif pclcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); rc = ngx_http_core_find_static_location(r, pclcf->static_locations); if (rc == NGX_AGAIN) { + +#if (NGX_PCRE) + clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); + + noregex = clcf->noregex; +#endif + /* look up nested locations */ + rc = ngx_http_core_find_location(r); } @@ -1139,13 +1154,8 @@ /* rc == NGX_DECLINED or rc == NGX_AGAIN in nested location */ #if (NGX_PCRE) - { - ngx_int_t n; - ngx_http_core_loc_conf_t *clcf, **clcfp; - clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); - - if (clcf->noregex == 0 && pclcf->regex_locations) { + if (noregex == 0 && pclcf->regex_locations) { for (clcfp = pclcf->regex_locations; *clcfp; clcfp++) { @@ -1175,7 +1185,6 @@ return ngx_http_core_find_location(r); } } - } #endif return rc;