Re: Злощасный try_files и alias

Maxim Dounin mdounin на mdounin.ru
Ср Фев 24 14:32:39 UTC 2016


Hello!

On Wed, Feb 24, 2016 at 03:22:59PM +0200, Alex Domoradov wrote:

> Добрый день, да там просто очепятка. Конечно же везде /api/v2.0/.
> Постараюсь вечером описать более подробно. Я его конечно упростил. Там еще
> есть fastcgi и $document_root. Возможно я ошибаюсь в проблеме.

Ну вот простое решение вашей проблемы - использовать префиксный 
location вместо регулярного выражения.

> Но большинство ссылок с stackoverflow вели на этот тикет
> 
> Особенно порадовала
> http://stackoverflow.com/questions/20426812/nginx-try-files-alias-directives

Этот конкретно вопрос - про вот этот случай из тикета:

    # bug: request to "/test/x" will fallback to "fallback" 
    # instead of "/test/fallback"

    location /test/ {
        alias /tmp/;
        try_files $uri /test/fallback?$args;
    }

он не имеет к вашей проблеме ни малейшего отношения, и workaround 
элементарен.  Что отдельно характерно - исходный конфиг в вопросе 
не имеет смысла, с тем же успехом там вместо fallback'а можно 
прописать =404.

> а точнее коментарии
> 
> https://s3.amazonaws.com/scrstorage/hsc3i16q062w58e071.png
> 
> ;)

Комментарии прекрасны, да.  И характерны, опять же, своей 
некорректностью - этот баг я создал лично всего 4 года назад, а 
кто-то уже насчитал 6 лет.  Теперь, видимо, придётся ещё пару лет 
не править.  ;)

-- 
Maxim Dounin
http://nginx.org/



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