Mercurial > hg > nginx-vendor-0-8
diff src/http/ngx_http_special_response.c @ 230:38e7b94d63ac NGINX_0_4_0
nginx 0.4.0
*) Change in internal API: the HTTP modules initialization was moved
from the init module phase to the HTTP postconfiguration phase.
*) Change: now the request body is not read beforehand for the
ngx_http_perl_module: it's required to start the reading using the
$r->has_request_body method.
*) Feature: the ngx_http_perl_module supports the DECLINED return code.
*) Feature: the ngx_http_dav_module supports the incoming "Date" header
line for the PUT method.
*) Feature: the "ssi" directive is available inside the "if" block.
*) Bugfix: a segmentation fault occurred if there was an "index"
directive with variables and the first index name was without
variables; bug appeared in 0.1.29.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 30 Aug 2006 00:00:00 +0400 |
parents | 9eebc1b2cdbb |
children | c982febb7588 |
line wrap: on
line diff
--- a/src/http/ngx_http_special_response.c +++ b/src/http/ngx_http_special_response.c @@ -307,7 +307,7 @@ ngx_http_special_response_handler(ngx_ht ngx_int_t rc; ngx_buf_t *b; ngx_str_t *uri, *location; - ngx_uint_t i, err, msie_padding; + ngx_uint_t i, n, err, msie_padding; ngx_chain_t *out, *cl; ngx_http_err_page_t *err_page; ngx_http_core_loc_conf_t *clcf; @@ -375,8 +375,23 @@ ngx_http_special_response_handler(ngx_ht { return NGX_ERROR; } + + if (r->zero_in_uri) { + for (n = 0; n < uri->len; n++) { + if (uri->data[n] == '\0') { + goto zero; + } + } + + r->zero_in_uri = 0; + } + + } else { + r->zero_in_uri = 0; } + zero: + if (uri->data[0] == '/') { return ngx_http_internal_redirect(r, uri, NULL); }