Re[2]: В каком порядке обрабатываются location?
CoDDoC
coddoc на mail.ru
Пн Фев 12 13:58:32 UTC 2018
>> location /456/ оказался в корне дерева, и поэтому проверяется первым.
А почему именно этот? Можно поподробнее?
Спасибо.
>Понедельник, 12 февраля 2018, 16:52 +03:00 от Maxim Dounin <mdounin на mdounin.ru>:
>
>Hello!
>
>On Mon, Feb 12, 2018 at 04:31:18PM +0300, CoDDoC wrote:
>
>> Доброе время суток!
>> Слегка запутался в порядке обработки локейшенов.
>> Такая структура:
>>
>> /1/index.html
>> /23/index.html
>> /456/index.html
>> /7890/index.html
>>
>> Все файлы index.html, естественно, разные.
>>
>> Соответственно, тестовый конфиг:
>>
>> server {
>> ....
>> location = /1/ { rewrite ^ /1/index.html break; }
>> location = /23/ { rewrite ^ /23/index.html break; }
>> location = /456/ { rewrite ^ /456/index.html break; }
>> location = /7890/ { rewrite ^ /7890/index.html break; }
>
>[...]
>
>> Т.е. работает-то оно правильно, но проверки существующих
>> локейшенов почему-то всегда начинаюся с "/456/". Не понимаю, чем
>> он такой особенный? Если отталкиваться от длины, так самый
>> длинный "/7890/"
>
>Префиксные location'ы не проверяются последовательно, а строится
>дерево, и поиск максимально совпадающего location'а делается
>проходом по дереву. В вашем случае location /456/ оказался в
>корне дерева, и поэтому проверяется первым.
>
>--
>Maxim Dounin
>http://mdounin.ru/
>_______________________________________________
>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/20180212/598c8d42/attachment-0001.html>
Подробная информация о списке рассылки nginx-ru