>> 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
--
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru