Re: Проблема с index index.html и rewrite

Vladislav Komissarov mastyf at gmail.com
Fri Aug 15 17:15:53 MSD 2008


> Зачем статичный root определять через переменные ?

$srv_root используется в других местах. Дабы не дублировать - вынес в
отдельную переменную.

Это плохо?

15 августа 2008 г. 16:23 пользователь Igor Sysoev <is at rambler-co.ru>написал:

> On Fri, Aug 15, 2008 at 04:09:52PM +0400, Владислав Комиссаров wrote:
>
> > Ситуация следующая.
> >
> > server {
> > ...
> >   set $srv_root  /var/www/domain.ru/htdocs;
> > ...
> >
> >   location / {
> >     root $srv_root;
> >     index index.html;
> >
> >     if (!-f $request_filename){
> >         rewrite (.*) /index2.html;
> >     }
> >   }
> >
> >   location /public/ {
> >       root $srv_root;
> >   }
> > }
>
> Зачем статичный root определять через переменные ?
>
> > При таком конфиге, я ожидаю что при запросе http://www.domain.ru/ будет
> > произведен внутренний редирект на /index.html, который не попадет в !-f
> > $request_filename и сервер отдаст клиенту /var/www/
> > domain.ru/htdocs/index.html, но вместо этого клиенту отдается
> index2.html
> >
> > Есть предположение, что при внутреннем редиректе на /index.html в
> > $request_filename остается "/".
>
> if (!-f $request_filename) выполняется раньше поиска index.html для /.
>
> Не нужно использовать "if (!-f $request_filename)" !
> Не нужно использовать "if (!-f $request_filename)" !
> Не нужно использовать "if (!-f $request_filename)" !
>
> Не нужно!
>
>    root /var/www/domain.ru/htdocs;
>
>    location / {
>         index  index.html;
>        error_page  404 = /index2.html;
>    }
>
>
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20080815/8d57c397/attachment.html>


More information about the nginx-ru mailing list