diff options
author | Igor Sysoev <igor@sysoev.ru> | 2009-05-26 09:38:48 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2009-05-26 09:38:48 +0000 |
commit | 77adc0d6c272af9e7d1a49277388520cb80934c7 (patch) | |
tree | c684a90663d01518fef898250da4941249183678 /src | |
parent | 4b14a97b653cc9f9572de9bd7885caf7e597cdb5 (diff) | |
download | nginx-77adc0d6c272af9e7d1a49277388520cb80934c7.tar.gz nginx-77adc0d6c272af9e7d1a49277388520cb80934c7.zip |
do not set charset for subrequests
Diffstat (limited to 'src')
-rw-r--r-- | src/http/modules/ngx_http_charset_filter_module.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/http/modules/ngx_http_charset_filter_module.c b/src/http/modules/ngx_http_charset_filter_module.c index b9620dd9d..5f47ec6d1 100644 --- a/src/http/modules/ngx_http_charset_filter_module.c +++ b/src/http/modules/ngx_http_charset_filter_module.c @@ -252,10 +252,7 @@ ngx_http_charset_header_filter(ngx_http_request_t *r) "charset: \"%V\" > \"%V\"", &src, &dst); if (source_charset == NGX_HTTP_CHARSET_OFF) { - - if (r == r->main) { - ngx_http_set_charset(r, &dst); - } + ngx_http_set_charset(r, &dst); return ngx_http_next_header_filter(r); } @@ -488,6 +485,10 @@ ngx_http_get_charset(ngx_http_request_t *r, ngx_str_t *name) static ngx_inline void ngx_http_set_charset(ngx_http_request_t *r, ngx_str_t *charset) { + if (r != r->main) { + return; + } + if (r->headers_out.status == NGX_HTTP_MOVED_PERMANENTLY || r->headers_out.status == NGX_HTTP_MOVED_TEMPORARILY) { |