]> git.kaiwu.me - nginx.git/commitdiff
if a location is specified by regex, then always compile an "alias",
authorIgor Sysoev <igor@sysoev.ru>
Thu, 26 Aug 2010 12:33:08 +0000 (12:33 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Thu, 26 Aug 2010 12:33:08 +0000 (12:33 +0000)
even into one static string script: this elimates testing this
too specific case inside ngx_http_map_uri_to_path()

src/http/ngx_http_core_module.c

index 6a11a87249a3afffc42c2e5818e88e11b15122ee..b438907bb5cfc74e22ef73c739c9ad632b76d553 100644 (file)
@@ -3788,13 +3788,19 @@ ngx_http_core_root(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
     n = ngx_http_script_variables_count(&clcf->root);
 
     ngx_memzero(&sc, sizeof(ngx_http_script_compile_t));
+    sc.variables = n;
+
+#if (NGX_PCRE)
+    if (alias && clcf->regex) {
+        n = 1;
+    }
+#endif
 
     if (n) {
         sc.cf = cf;
         sc.source = &clcf->root;
         sc.lengths = &clcf->root_lengths;
         sc.values = &clcf->root_values;
-        sc.variables = n;
         sc.complete_lengths = 1;
         sc.complete_values = 1;