On Fri, Apr 27, 2007 at 05:53:34PM +0400, Igor Sysoev wrote:
> > Имеем следующую проблему -- в стандартынй конфиг добавляем
> >
> > location ~ /enc.* {
> > root /home/enc/public_html;
> > index index.html;
> > # rewrite ^/enc/$ /index.html break;
> > rewrite ^(/enc)(/.*) $2 break;
> > autoindex on;
> > }
> >
> > при http://localhost/enc/ имеем в errorlog следующее:
> > 2007/04/27 15:18:07 [error] 11191#0: *1 open() "/var/www/index.html"
> > failed (2: No such file or directory), client: 127.0.0.1, server:
> > terminator, URL: "/enc/", host: "localhost"
> > 2007/04/27 15:20:24 [error] 11191#0: *2 open() "/var/www/index.html"
> > failed (2: No such file or directory), client: 127.0.0.1, server:
> > terminator, URL:
> > "/enc/", host: "localhost"
> > (в /var/www показывает location /)
> > Где я был неправ, что индекс ищется не в том location где определен?
> > (я конечно написал rewrite полечивший проблему --- но хочется понять как
> > правильно)
> >
> > nginx 0.5.19
> > debian linux unstable, 2.6.20-1-amd64 #1 SMP
> >
> > Буду признателен за совет.
>
> Я не понял, какой rewrite вылечил проблему, и в чём проблема заключается.
> Что должно быть видно по запросу /enc/ и /enc/file ?
>
Тот что в приведенном куске закомментирован.
rewrite ^/enc/$ /index.html break;
Хотя это криво конечно, и надо что-то типа ^([^/].*)/$ $1/index.html.
А проблема вот в чем.
По /enc/file отдавалось /home/enc/public_html/file
А вот /enc/ пыталось отдать /var/www/index.html, а не
/home/enc/public_html/index.html как ожидалось от него.
Или я был неправ ожидая подобного?