mirror of
https://github.com/nginx/nginx.git
synced 2024-12-19 05:33:52 -06:00
try_files status code
This commit is contained in:
parent
9ce893b13b
commit
ecd822809d
@ -1144,6 +1144,11 @@ ngx_http_core_try_files_phase(ngx_http_request_t *r,
|
||||
|
||||
if (tf->lengths == NULL && tf->name.len == 0) {
|
||||
|
||||
if (tf->code) {
|
||||
ngx_http_finalize_request(r, tf->code);
|
||||
return NGX_OK;
|
||||
}
|
||||
|
||||
path.len -= root;
|
||||
path.data += root;
|
||||
|
||||
@ -3939,6 +3944,7 @@ ngx_http_core_try_files(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
||||
ngx_http_core_loc_conf_t *clcf = conf;
|
||||
|
||||
ngx_str_t *value;
|
||||
ngx_int_t code;
|
||||
ngx_uint_t i, n;
|
||||
ngx_http_try_file_t *tf;
|
||||
ngx_http_script_compile_t sc;
|
||||
@ -3994,6 +4000,20 @@ ngx_http_core_try_files(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
||||
}
|
||||
}
|
||||
|
||||
if (tf[i - 1].name.data[0] == '=') {
|
||||
|
||||
code = ngx_atoi(tf[i - 1].name.data + 1, tf[i - 1].name.len - 2);
|
||||
|
||||
if (code == NGX_ERROR) {
|
||||
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
||||
"invalid code \"%*s\"",
|
||||
tf[i - 1].name.len - 1, tf[i - 1].name.data);
|
||||
return NGX_CONF_ERROR;
|
||||
}
|
||||
|
||||
tf[i].code = code;
|
||||
}
|
||||
|
||||
return NGX_CONF_OK;
|
||||
}
|
||||
|
||||
|
@ -267,7 +267,9 @@ typedef struct {
|
||||
ngx_array_t *lengths;
|
||||
ngx_array_t *values;
|
||||
ngx_str_t name;
|
||||
ngx_uint_t test_dir; /* unsigned test_dir:1; */
|
||||
|
||||
unsigned code:10;
|
||||
unsigned test_dir:1;
|
||||
} ngx_http_try_file_t;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user