mirror of
https://github.com/nginx/nginx.git
synced 2024-12-20 14:13:33 -06:00
fix handling an inherited alias in inclusive location
This commit is contained in:
parent
34ab21c53a
commit
a5eefbc174
@ -1152,7 +1152,7 @@ ngx_http_core_try_files_phase(ngx_http_request_t *r,
|
||||
|
||||
tf = clcf->try_files;
|
||||
|
||||
alias = clcf->alias ? clcf->name.len : 0;
|
||||
alias = clcf->alias;
|
||||
|
||||
for ( ;; ) {
|
||||
|
||||
@ -1756,7 +1756,7 @@ ngx_http_map_uri_to_path(ngx_http_request_t *r, ngx_str_t *path,
|
||||
|
||||
clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
|
||||
|
||||
alias = clcf->alias ? clcf->name.len : 0;
|
||||
alias = clcf->alias;
|
||||
|
||||
if (alias && !r->valid_location) {
|
||||
ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0,
|
||||
@ -3604,16 +3604,15 @@ ngx_http_core_root(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
||||
ngx_http_core_loc_conf_t *clcf = conf;
|
||||
|
||||
ngx_str_t *value;
|
||||
ngx_uint_t alias, n;
|
||||
ngx_int_t alias;
|
||||
ngx_uint_t n;
|
||||
ngx_http_script_compile_t sc;
|
||||
|
||||
alias = (cmd->name.len == sizeof("alias") - 1) ? 1 : 0;
|
||||
|
||||
if (clcf->root.data) {
|
||||
|
||||
/* the (ngx_uint_t) cast is required by gcc 2.7.2.3 */
|
||||
|
||||
if ((ngx_uint_t) clcf->alias == alias) {
|
||||
if ((clcf->alias != 0) == alias) {
|
||||
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
||||
"\"%V\" directive is duplicate",
|
||||
&cmd->name);
|
||||
@ -3659,7 +3658,7 @@ ngx_http_core_root(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
||||
return NGX_CONF_ERROR;
|
||||
}
|
||||
|
||||
clcf->alias = alias;
|
||||
clcf->alias = alias ? clcf->name.len : 0;
|
||||
clcf->root = value[1];
|
||||
|
||||
if (!alias && clcf->root.data[clcf->root.len - 1] == '/') {
|
||||
|
@ -289,7 +289,6 @@ struct ngx_http_core_loc_conf_s {
|
||||
unsigned noregex:1;
|
||||
|
||||
unsigned auto_redirect:1;
|
||||
unsigned alias:1;
|
||||
#if (NGX_HTTP_GZIP)
|
||||
unsigned gzip_disable_msie6:2;
|
||||
#endif
|
||||
@ -307,6 +306,8 @@ struct ngx_http_core_loc_conf_s {
|
||||
|
||||
ngx_http_handler_pt handler;
|
||||
|
||||
/* location name length for inclusive location with inherited alias */
|
||||
size_t alias;
|
||||
ngx_str_t root; /* root, alias */
|
||||
ngx_str_t post_action;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user