# HG changeset patch # User Igor Sysoev # Date 1218995896 0 # Node ID e9420c1b6f25f9ccb911fbe5bedab371bbf8456c # Parent 274c0f3ea600b868423dd4065442d1d41a348882 fix noregex for inclusive locations diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -1122,13 +1122,28 @@ ngx_http_core_find_location(ngx_http_req { 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 @@ ngx_http_core_find_location(ngx_http_req /* 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 @@ ngx_http_core_find_location(ngx_http_req return ngx_http_core_find_location(r); } } - } #endif return rc;