merge_slashes

Илья Шипицин chipitsine на gmail.com
Пн Мар 20 17:09:41 UTC 2017


20 марта 2017 г., 22:06 пользователь Gena Makhomed <gmm на csdoc.com> написал:

> 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
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20170320/3489513b/attachment-0001.html>


Подробная информация о списке рассылки nginx-ru