Mercurial > hg > nginx
diff src/http/ngx_http_special_response.c @ 335:d4241d7787fe
nginx-0.0.3-2004-05-14-20:51:47 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 14 May 2004 16:51:47 +0000 |
parents | f168a88e93f7 |
children | 6bdf858bff8c |
line wrap: on
line diff
--- a/src/http/ngx_http_special_response.c +++ b/src/http/ngx_http_special_response.c @@ -166,6 +166,9 @@ static ngx_str_t error_pages[] = { ngx_null_string, /* 415 */ ngx_string(error_416_page), + ngx_string(error_404_page), /* 498 */ + ngx_null_string, /* 499 */ + ngx_string(error_500_page), ngx_string(error_501_page), ngx_string(error_502_page), @@ -229,13 +232,20 @@ int ngx_http_special_response_handler(ng /* 3XX */ err = error - NGX_HTTP_MOVED_PERMANENTLY; - } else if (error < NGX_HTTP_INTERNAL_SERVER_ERROR) { + } else if (error < NGX_HTTP_NGX_CODES) { /* 4XX */ err = error - NGX_HTTP_BAD_REQUEST + 3; } else { - /* 5XX */ - err = error - NGX_HTTP_INTERNAL_SERVER_ERROR + 3 + 17; + /* 49X, 5XX */ + err = error - NGX_HTTP_NGX_CODES + 3 + 17; + + switch (error) { + case NGX_HTTP_INVALID_HOST: + r->headers_out.status = NGX_HTTP_NOT_FOUND; + error = NGX_HTTP_NOT_FOUND; + break; + } } if (error_pages[err].len) {