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

Alex Domoradov alex.hha на gmail.com
Ср Фев 24 13:22:59 UTC 2016


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

Особенно порадовала
http://stackoverflow.com/questions/20426812/nginx-try-files-alias-directives

а точнее коментарии

https://s3.amazonaws.com/scrstorage/hsc3i16q062w58e071.png

;)

2016-02-24 15:12 GMT+02:00 Maxim Dounin <mdounin на mdounin.ru>:

> Hello!
>
> On Wed, Feb 24, 2016 at 01:45:27AM +0200, Alex Domoradov wrote:
>
> > https://trac.nginx.org/nginx/ticket/97
> >
> > подскажите, до сих пор нет решения этой проблемы?
>
> Проблемы из этого тикета, не являющиеся дискуссионными, в
> современных версиях nginx'а решены.  По опыту - если вы пришли к
> выводу, что ваши проблемы из-за этого тикета, то скорее всего вы
> просто перемудрили в конфиге.
>
> > Есть
> >
> > server {
> >    root /vhosts/api.example.net/public_html;
> >
> >    location ~ /api/2.0 {
> >       alias /vhosts/api.example.net/api/v2.0/public_html;
> >       try_files $uri $uri/ /index.php?$query_string;
> >    }
> > }
> >
> > при таком конфиге и обращении к /api/1.0 файлы ищутся в /vhosts/
> > api.example.net/public_html, вместо /vhosts/
> > api.example.net/api/v2.0/public_html
>
> При обращении к /api/1.0 они и должны искаться от root'а сервера,
> т.к. location'а для /api/1.0 у вас не описано.
>
> При обращении к /api/2.0, вероятно, происходнить будет не то, что
> вы хотели, т.к. в location'е, заданном с помощью регулярного
> выражения, alias определяет полный путь к файлу, а try_files к
> этому пути добавляет фрагменты.  Вам, вероятно, надо убрать "~" из
> location'а, сделав его обычным префиксным, и всё заработает так,
> как хотелось.
>
> --
> Maxim Dounin
> http://nginx.org/
>
> _______________________________________________
> 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/20160224/e475742c/attachment.html>


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