On Sat, Apr 28, 2007 at 01:19:52AM +0400, avn@xxxxxxxxxxxxxx wrote:
> 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 как ожидалось от него.
location = /enc {
alias /home/enc/public_html/; # для редиректа
}
location /enc/ {
alias /home/enc/public_html/;
index index.html;
}
--
Игорь Сысоев
http://sysoev.ru