comparison src/http/ngx_http_core_module.h @ 2407:16d1236bc298

try_files
author Igor Sysoev <igor@sysoev.ru>
date Mon, 15 Dec 2008 10:56:48 +0000
parents c59485781f0a
children 43dcf8cc2cb1
comparison
equal deleted inserted replaced
2406:008777fa59e0 2407:16d1236bc298
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