rewrite rule

Igor Sysoev is at rambler-co.ru
Sun Dec 26 21:15:05 MSK 2004


On Sun, 26 Dec 2004, RaPaMaN wrote:

> On Sunday 26 December 2004 19:29, Igor Sysoev wrote:
> > On Sun, 26 Dec 2004, RaPaMaN wrote:
> > > я на примере объясню, что мне нужно реализовать:
> ......................... mad skip ...............
> > Ну, тут вариантов много.
> >
> > Отличие
> >
> > location /one/ {
> >     root  /path;
> > }
> >
> > от
> >
> > location /one/ {
> >     alias  /path/;
> > }
> >
> > заключается в следующем. В первом случае весь uri добавляется к root, то
> > есть, /one/two будет соотвествовать /path/one/two. Во втором случае
> > location заменяется на alias и будет /path/two.
> >
> > Если для /intranet/ не нужно регулярных выражений, то можно его записать
> > в виде alias.
> >
> >
>
> Понял, спасибо. Но так как  alias не работает для location с регулярными
> выражениями, то :( я пошел по другому пути, потому как мне именно нужен
> вариант с алиасом, но с регулярными выражениями.
>
> Я сделал:
>
> /one/path/...
>
> переписывается на вид /two/path/...
>
> и в location ~* ^two/........$
>
> root /xxx/yyy
>
> т.е. раньше был root /xxx/yyy/two, а я его вынес в rewrite чтобы точно было
> совпадение.
>
> Сразу шкурный вопрос - а будет alias в location с регулярными выражениями ? :)

Скорее всего, да. Что-то вроде:

location /some/(.+)/ {
     alias  /path/$1;
}

и то же самое будет для proxy_pass.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list