On Sun, 26 Dec 2004, RaPaMaN wrote:
> On Sunday 26 December 2004 18:54, Igor Sysoev wrote:
> > On Sun, 26 Dec 2004, RaPaMaN wrote:
> > > On Sunday 26 December 2004 18:34, Igor Sysoev wrote:
> > > > On Sun, 26 Dec 2004, RaPaMaN wrote:
> > > >
> > > > В данном случае должно работать такое:
> > > >
> > > > rewrite ^/intranet/(.+\.)(jpg|png|gif)$ /$1$2 last;
> > > >
> > > > Почему не работает "(.+\.(jpg|png|gif))", нужно смотреть, возможно, это
> > > > проблема PCRE, а может, и nginx'а.
> > >
> > > Работать не будет, потому как в $2 всегда будет попадать расширение
> > > картинки. Тут только выход - использовать regexp без помещения значения в
> > > контейнер, т.е. (?:) и т.п.
> >
> > Почему не будет ? Работает.
>
> работает, только расширение еще добавляется двойное,
> получается: ..../bober.jpgjpg
Откуда оно добавляется ? $1 ведь не захватывает расширения. Оно попадает
только в $2.
> > > А вопрос еще такой, как сделать следующее:
> > >
> > > На бэкэнде есть виртуальная директория через
> > > Alias /blabla /var/blablabla/bla
> > >
> > > Как мне в nginx все картинки с такого алиаса грузить как статику ?
> >
> > location /blabla {
> > alias /var/blablabla/bla;
> > }
> >
> > но alias не работает для location с регулярными выражениями.
>
> А если этот URL alias_name/xxx/yyy/image.jpg переписывается
> до /xxx/yyy/umage.jpg, а xxx и yyy - куча комбинаций может быть ?
Не понял вопрос. alias работает, как в Апаче, то есть, часть URI,
соответсвующая location, заменяется на alias и получается путь к файлу.
> Т.е. надо имеено поймать в location то, что прошло rewrite.
rewrite работает до фазы определения location. То есть, сначала URI
переписывается, а потом определяется, какой конфигурации он соответсвует.
Игорь Сысоев
http://sysoev.ru