diff src/http/ngx_http_core_module.c @ 200:d2ae1c9f1fd3 NGINX_0_3_47

nginx 0.3.47 *) Feature: the "upstream" directive. *) Change: now the "\" escape symbol in the "\"" and "\'" pairs in the SSI command is always removed.
author Igor Sysoev <http://sysoev.ru>
date Tue, 23 May 2006 00:00:00 +0400
parents e6da4931e0e0
children ca5f86d94316
line wrap: on
line diff
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -106,7 +106,7 @@ static ngx_command_t  ngx_http_core_comm
       NULL },
 
     { ngx_string("server"),
-      NGX_HTTP_MAIN_CONF|NGX_CONF_BLOCK|NGX_CONF_NOARGS,
+      NGX_HTTP_MAIN_CONF|NGX_CONF_BLOCK|NGX_CONF_MULTI|NGX_CONF_NOARGS,
       ngx_http_core_server,
       0,
       0,
@@ -506,7 +506,6 @@ ngx_http_handler(ngx_http_request_t *r)
     r->valid_unparsed_uri = 1;
     r->valid_location = 1;
     r->uri_changed = 1;
-    r->uri_changes = NGX_HTTP_MAX_REWRITE_CYCLES + 1;
 
     r->phase = (r == r->main) ? NGX_HTTP_POST_READ_PHASE:
                                 NGX_HTTP_SERVER_REWRITE_PHASE;
@@ -547,7 +546,7 @@ ngx_http_core_run_phases(ngx_http_reques
 
             if (r->uri_changes == 0) {
                 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
-                              "rewrite cycle");
+                              "rewrite or internal redirection cycle");
                 ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR);
                 return;
             }
@@ -1263,6 +1262,8 @@ ngx_http_subrequest(ngx_http_request_t *
     sr->discard_body = r->discard_body;
     sr->main_filter_need_in_memory = r->main_filter_need_in_memory;
 
+    sr->uri_changes = NGX_HTTP_MAX_URI_CHANGES + 1;
+
     ngx_http_handler(sr);
 
     if (!c->destroyed) {
@@ -1331,6 +1332,8 @@ ngx_http_internal_redirect(ngx_http_requ
     r->internal = 1;
     r->method = NGX_HTTP_GET;
 
+    r->uri_changes--;
+
     ngx_http_handler(r);
 
     return NGX_DONE;
@@ -1794,7 +1797,7 @@ ngx_http_core_create_main_conf(ngx_conf_
 
     if (ngx_array_init(&cmcf->servers, cf->pool, 4,
                        sizeof(ngx_http_core_srv_conf_t *))
-        == NGX_ERROR)
+        != NGX_OK)
     {
         return NGX_CONF_ERROR;
     }