Вопрос про http_mod_index

avn at daemon.hole.ru avn at daemon.hole.ru
Sat Apr 28 01:19:52 MSD 2007


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 как ожидалось от него.

Или я был неправ ожидая подобного?





More information about the nginx-ru mailing list