Mercurial > hg > nginx-vendor-0-7
comparison src/http/ngx_http_core_module.h @ 430:dac47e9ef0d5 NGINX_0_7_27
nginx 0.7.27
*) Feature: the "try_files" directive.
*) Feature: variables support in the "fastcgi_pass" directive.
*) Feature: now the $geo variable may get an address from a
variable.
Thanks to Andrei Nigmatulin.
*) Feature: now a location's modifier may be used without space before
name.
*) Feature: the $upstream_response_length variable.
*) Bugfix: now a "add_header" directive does not add an empty value.
*) Bugfix: if zero length static file was requested, then nginx just
closed connection; the bug had appeared in 0.7.25.
*) Bugfix: a MOVE method could not move file in non-existent directory.
*) Bugfix: a segmentation fault occurred in worker process, if no one
named location was defined in server, but some one was used in an
error_page directive.
Thanks to Sergey Bochenkov.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 15 Dec 2008 00:00:00 +0300 |
parents | 9da1d9d94d18 |
children | 6281966854a5 |
comparison
equal
deleted
inserted
replaced
429:3b8e9d1bc9bb | 430:dac47e9ef0d5 |
---|---|
79 NGX_HTTP_PREACCESS_PHASE, | 79 NGX_HTTP_PREACCESS_PHASE, |
80 | 80 |
81 NGX_HTTP_ACCESS_PHASE, | 81 NGX_HTTP_ACCESS_PHASE, |
82 NGX_HTTP_POST_ACCESS_PHASE, | 82 NGX_HTTP_POST_ACCESS_PHASE, |
83 | 83 |
84 NGX_HTTP_TRY_FILES_PHASE, | |
84 NGX_HTTP_CONTENT_PHASE, | 85 NGX_HTTP_CONTENT_PHASE, |
85 | 86 |
86 NGX_HTTP_LOG_PHASE | 87 NGX_HTTP_LOG_PHASE |
87 } ngx_http_phases; | 88 } ngx_http_phases; |
88 | 89 |
126 | 127 |
127 ngx_uint_t variables_hash_max_size; | 128 ngx_uint_t variables_hash_max_size; |
128 ngx_uint_t variables_hash_bucket_size; | 129 ngx_uint_t variables_hash_bucket_size; |
129 | 130 |
130 ngx_hash_keys_arrays_t *variables_keys; | 131 ngx_hash_keys_arrays_t *variables_keys; |
132 | |
133 ngx_uint_t try_files; /* unsigned try_files:1 */ | |
131 | 134 |
132 ngx_http_phase_t phases[NGX_HTTP_LOG_PHASE + 1]; | 135 ngx_http_phase_t phases[NGX_HTTP_LOG_PHASE + 1]; |
133 } ngx_http_core_main_conf_t; | 136 } ngx_http_core_main_conf_t; |
134 | 137 |
135 | 138 |
234 ngx_str_t uri; | 237 ngx_str_t uri; |
235 ngx_str_t args; | 238 ngx_str_t args; |
236 ngx_array_t *uri_lengths; | 239 ngx_array_t *uri_lengths; |
237 ngx_array_t *uri_values; | 240 ngx_array_t *uri_values; |
238 } ngx_http_err_page_t; | 241 } ngx_http_err_page_t; |
242 | |
243 | |
244 typedef struct { | |
245 ngx_array_t *lengths; | |
246 ngx_array_t *values; | |
247 ngx_str_t name; | |
248 } ngx_http_try_file_t; | |
239 | 249 |
240 | 250 |
241 struct ngx_http_core_loc_conf_s { | 251 struct ngx_http_core_loc_conf_s { |
242 ngx_str_t name; /* location name */ | 252 ngx_str_t name; /* location name */ |
243 | 253 |
326 ngx_array_t *gzip_disable; /* gzip_disable */ | 336 ngx_array_t *gzip_disable; /* gzip_disable */ |
327 #endif | 337 #endif |
328 #endif | 338 #endif |
329 | 339 |
330 ngx_array_t *error_pages; /* error_page */ | 340 ngx_array_t *error_pages; /* error_page */ |
341 ngx_http_try_file_t *try_files; /* try_files */ | |
331 | 342 |
332 ngx_path_t *client_body_temp_path; /* client_body_temp_path */ | 343 ngx_path_t *client_body_temp_path; /* client_body_temp_path */ |
333 | 344 |
334 ngx_open_file_cache_t *open_file_cache; | 345 ngx_open_file_cache_t *open_file_cache; |
335 time_t open_file_cache_valid; | 346 time_t open_file_cache_valid; |
383 ngx_int_t ngx_http_core_post_rewrite_phase(ngx_http_request_t *r, | 394 ngx_int_t ngx_http_core_post_rewrite_phase(ngx_http_request_t *r, |
384 ngx_http_phase_handler_t *ph); | 395 ngx_http_phase_handler_t *ph); |
385 ngx_int_t ngx_http_core_access_phase(ngx_http_request_t *r, | 396 ngx_int_t ngx_http_core_access_phase(ngx_http_request_t *r, |
386 ngx_http_phase_handler_t *ph); | 397 ngx_http_phase_handler_t *ph); |
387 ngx_int_t ngx_http_core_post_access_phase(ngx_http_request_t *r, | 398 ngx_int_t ngx_http_core_post_access_phase(ngx_http_request_t *r, |
399 ngx_http_phase_handler_t *ph); | |
400 ngx_int_t ngx_http_core_try_files_phase(ngx_http_request_t *r, | |
388 ngx_http_phase_handler_t *ph); | 401 ngx_http_phase_handler_t *ph); |
389 ngx_int_t ngx_http_core_content_phase(ngx_http_request_t *r, | 402 ngx_int_t ngx_http_core_content_phase(ngx_http_request_t *r, |
390 ngx_http_phase_handler_t *ph); | 403 ngx_http_phase_handler_t *ph); |
391 | 404 |
392 | 405 |