From: Sergey Kandaurov Date: Wed, 28 May 2014 16:18:05 +0000 (+0400) Subject: Fixed config parsing of the last try_files parameter. X-Git-Tag: release-1.7.2~8 X-Git-Url: http://git.kaiwu.me/sitemap.xml?a=commitdiff_plain;h=0750df4f16d6e39dfdf36ce69f363499aceff7d5;p=nginx.git Fixed config parsing of the last try_files parameter. Do not taste the last parameter against directory, as otherwise it would result in the trailing slash being cut from the parameter value. Notably, this prevents an internal redirect to an empty URI if the parameter is set to the literal slash: location / { try_files $uri /; } --- diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c index 741a80d93..fb02dd465 100644 --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -4789,7 +4789,8 @@ ngx_http_core_try_files(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) tf[i].name = value[i + 1]; if (tf[i].name.len > 0 - && tf[i].name.data[tf[i].name.len - 1] == '/') + && tf[i].name.data[tf[i].name.len - 1] == '/' + && i + 2 < cf->args->nelts) { tf[i].test_dir = 1; tf[i].name.len--;