>> location /456/ оказался в корне дерева, и поэтому проверяется первым. А почему именно этот? Можно поподробнее?
Спасибо. >Понедельник, 12 февраля 2018, 16:52 +03:00 от Maxim Dounin ><[email protected]>: > >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 >[email protected] >http://mailman.nginx.org/mailman/listinfo/nginx-ru --
_______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
