On 20.03.2017 18:57, Илья Шипицин wrote:
проще отключить merge и разруливать уже в приложении
отключать merge_slashes нельзя, тогда сломается вся логика работы:
http://nginx.org/ru/docs/http/ngx_http_core_module.html#merge_slashes
сломается только, если у вас используются префиксные локейшены.
префиксные локейшены используются, поэтому merge_slashes off не подходит
Локейшном с регуляркой ситуация не разыгрывается?
тема с merge_slashes redirect достаточно популярная,
странно что это до сих пор еще никто не реализовал в nginx.
какой-нибудь rewrite_by_lua ? или аналог на nginScript
как оказалось, можно и просто "программированием на конфигах nginx":
# remove multiple sequences of forward slashes
# The $uri variable with have duplicate slashes removed by default via
[merge_slashes on] - just need to rewrite back to $uri
# note: use of the "^[^?]*?" pattern avoids any matches in the
querystring section of URI - which would cause an infinite redirect loop
if ($request_uri ~ "^[^?]*?//") {
rewrite "^" $scheme://$host$uri permanent;
}
но добавлять этот фрагмент кода в каждый сайт... нет ли проще варианта?
например, сделать merge_slashes redirect значением по умолчанию?
--
Best regards,
Gena
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru