ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Проблема с index index.html и rewrite
  • From: "Vladislav Komissarov" <mastyf@xxxxxxxxx>
  • Date: Fri, 15 Aug 2008 17:15:53 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type:references; bh=Xc7rTYtPIjIb2wCm8mnxlyUl60mkPpQwWvfdLrbGqbM=; b=orLSP7KCEurLDGQEPurjCDz6LU+ItVmptU0Zd81+AiKcjoaCWQkNqgJ5qW+C4j2RdP v7eRxcgm0p34/Vh8h/ngmlrzvKSkZSGoTBvJS7MkdxbckTi4ertB07YKoXyNuCpBupy/ aQ/nHit86V9LdZNQ7NL/KFNmTQ+jcGC29+/JE=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:references; b=paTxiP5QjUEsWTe7u0shU0JNHJvjEu8PIScqd2CUU//WLHphzs/LhafIo9zmrNdZMi Q78xfmipUKHG/V2AsX2ITphL4WzWf5cB+SFQf/ZIUGgOnEIzyjQ/2HGcHU5onhtM1TsL J0/u5xEbF970Nu5CQgK7/tFQ2HZ0UDyQP3mmg=
  • In-reply-to: <20080815122331.GG67587@xxxxxxxxxxxxx>
  • References: <508c50330808150509s2cabf839x5218caaa07086c42@xxxxxxxxxxxxxx> <20080815122331.GG67587@xxxxxxxxxxxxx>

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

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

Это плохо?

15 августа 2008 г. 16:23 пользователь Igor Sysoev <is@xxxxxxxxxxxxx> написал:
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




 




Copyright © Lexa Software, 1996-2009.