comparison src/http/ngx_http_special_response.c @ 6977:be5cfa918bfc

Added support for the "308 Permanent Redirect" (ticket #877).
author Simon Leblanc <contact@leblanc-simon.eu>
date Tue, 11 Apr 2017 03:13:46 +0200
parents 3ef4cadfad7f
children 8801ff7d58e1
comparison
equal deleted inserted replaced
6976:6c13008ad503 6977:be5cfa918bfc
84 static char ngx_http_error_307_page[] = 84 static char ngx_http_error_307_page[] =
85 "<html>" CRLF 85 "<html>" CRLF
86 "<head><title>307 Temporary Redirect</title></head>" CRLF 86 "<head><title>307 Temporary Redirect</title></head>" CRLF
87 "<body bgcolor=\"white\">" CRLF 87 "<body bgcolor=\"white\">" CRLF
88 "<center><h1>307 Temporary Redirect</h1></center>" CRLF 88 "<center><h1>307 Temporary Redirect</h1></center>" CRLF
89 ;
90
91
92 static char ngx_http_error_308_page[] =
93 "<html>" CRLF
94 "<head><title>308 Permanent Redirect</title></head>" CRLF
95 "<body bgcolor=\"white\">" CRLF
96 "<center><h1>308 Permanent Redirect</h1></center>" CRLF
89 ; 97 ;
90 98
91 99
92 static char ngx_http_error_400_page[] = 100 static char ngx_http_error_400_page[] =
93 "<html>" CRLF 101 "<html>" CRLF
334 ngx_string(ngx_http_error_303_page), 342 ngx_string(ngx_http_error_303_page),
335 ngx_null_string, /* 304 */ 343 ngx_null_string, /* 304 */
336 ngx_null_string, /* 305 */ 344 ngx_null_string, /* 305 */
337 ngx_null_string, /* 306 */ 345 ngx_null_string, /* 306 */
338 ngx_string(ngx_http_error_307_page), 346 ngx_string(ngx_http_error_307_page),
339 347 ngx_string(ngx_http_error_308_page),
340 #define NGX_HTTP_LAST_3XX 308 348
349 #define NGX_HTTP_LAST_3XX 309
341 #define NGX_HTTP_OFF_4XX (NGX_HTTP_LAST_3XX - 301 + NGX_HTTP_OFF_3XX) 350 #define NGX_HTTP_OFF_4XX (NGX_HTTP_LAST_3XX - 301 + NGX_HTTP_OFF_3XX)
342 351
343 ngx_string(ngx_http_error_400_page), 352 ngx_string(ngx_http_error_400_page),
344 ngx_string(ngx_http_error_401_page), 353 ngx_string(ngx_http_error_401_page),
345 ngx_string(ngx_http_error_402_page), 354 ngx_string(ngx_http_error_402_page),
613 } 622 }
614 623
615 if (overwrite != NGX_HTTP_MOVED_PERMANENTLY 624 if (overwrite != NGX_HTTP_MOVED_PERMANENTLY
616 && overwrite != NGX_HTTP_MOVED_TEMPORARILY 625 && overwrite != NGX_HTTP_MOVED_TEMPORARILY
617 && overwrite != NGX_HTTP_SEE_OTHER 626 && overwrite != NGX_HTTP_SEE_OTHER
618 && overwrite != NGX_HTTP_TEMPORARY_REDIRECT) 627 && overwrite != NGX_HTTP_TEMPORARY_REDIRECT
628 && overwrite != NGX_HTTP_PERMANENT_REDIRECT)
619 { 629 {
620 r->err_status = NGX_HTTP_MOVED_TEMPORARILY; 630 r->err_status = NGX_HTTP_MOVED_TEMPORARILY;
621 } 631 }
622 632
623 location->hash = 1; 633 location->hash = 1;