Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: поведение try_files
Hello!
On Wed, Aug 05, 2009 at 02:19:18PM +0400, Kirill A. Korinskiy wrote:
> At Wed, 5 Aug 2009 14:11:25 +0400,
> Igor Sysoev <is@xxxxxxxxxxxxx> wrote:
>
> > > ну а как же вариант с
> > >
> > > if (...) {
> > > set ... ...;
> > > }
> > >
> > > он же тоже крайне ожидаем.
> >
> > А в этом варианте есть подводные грабли, из-за которых всё вместе
> > может работать не так, как ожидается.
> >
>
> например?
На уровне server{} всё будет работать. А на уровне location любой
if без выхода в return/rewrite ... last - это грабли.
В примерах ниже можешь заменить "# nothing" на set - результат не
изменится:
# request will be sent to backend without uri changed
# to '/' due to if
location /proxy-pass-uri {
proxy_pass http://127.0.0.1:8080/;
set $true 1;
if ($true) {
# nothing
}
}
# try_files wont work due to if
location /if-try-files {
try_files /file @fallback;
set $true 1;
if ($true) {
# nothing
}
}
Maxim Dounin
|