Mercurial > hg > nginx
changeset 2685:6c8a5165ed2a
fix r2590: error_page made an external redirect without query string
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 07 Apr 2009 15:50:08 +0000 |
parents | c944cba169e3 |
children | 9e0ae986b587 |
files | src/http/ngx_http_core_module.c src/http/ngx_http_special_response.c |
diffstat | 2 files changed, 7 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/ngx_http_core_module.c Mon Apr 06 13:43:46 2009 +0000 +++ b/src/http/ngx_http_core_module.c Tue Apr 07 15:50:08 2009 +0000 @@ -3875,7 +3875,7 @@ args.len = 0; args.data = NULL; - if (cv.lengths == NULL) { + if (cv.lengths == NULL && uri.data[0] == '/') { p = (u_char *) ngx_strchr(uri.data, '?'); if (p) {
--- a/src/http/ngx_http_special_response.c Mon Apr 06 13:43:46 2009 +0000 +++ b/src/http/ngx_http_special_response.c Tue Apr 07 15:50:08 2009 +0000 @@ -451,14 +451,14 @@ return NGX_ERROR; } - if (err_page->value.lengths) { - ngx_http_split_args(r, &uri, &args); + if (uri.data[0] == '/') { - } else { - args = err_page->args; - } + if (err_page->value.lengths) { + ngx_http_split_args(r, &uri, &args); - if (uri.data[0] == '/') { + } else { + args = err_page->args; + } if (r->method != NGX_HTTP_HEAD) { r->method = NGX_HTTP_GET;