ПРОЕКТЫ 


  АРХИВ 


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: "Владислав Комиссаров" <vk@xxxxxxxxxx>
  • Date: Fri, 15 Aug 2008 17:16:24 +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:sender :to:subject:in-reply-to:mime-version:content-type:references :x-google-sender-auth; bh=WKymKipy8iQKshuhccZp3FgiMQn+k0FyDcncHRtmr4Y=; b=fodhrKH7QobxkkEAoNPoIJQ947Jge5bBrhVp+x6jEkK4wJ7VPCs4Jj6SpkQJYlyugZ x/9D4R/V6yZZLogmAm0oaGy+abpa+QJh19kzeMbdsgpP45KoZJFEjLH09a5RuCHZ5U+/ CebzBDryt3sbPLq2Bh6+BaR11QxrR4NM2aRII=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:in-reply-to:mime-version :content-type:references:x-google-sender-auth; b=RlfstQh+2KiQ1fjrB5wBSgiMKeVOe/8/7wru53hMfvDzDB3iuy7hoiRUNo91pJ1x7I zjqDwZO0UfZKoU9dS5PALUG6uoPnkGm+DcX0CDkfpG9UXWC2crIAkRHsUQzSEQggMNL8 5a6yMiXRTP9EEvhJqJdR1PDHbUQvT7Q3L4GkU=
  • 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.