ПРОЕКТЫ 


  АРХИВ 


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: два правила работают по отделности но не вместе


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: два правила работают по отделности но не вместе
  • From: "shambler81" <nginx-forum@xxxxxxxx>
  • Date: Tue, 22 Jan 2013 07:43:49 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=Date:Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=GKE30FT+VnH/ZH2XWc08uHNuyay1ncI/SguLmQQDET4=; b=fLBYnV1Zcx8ciglwE41DK1A/M3OUHUsr2PBFyR104zU069VadIs1v5TskSA9VvMPSvWGC2qJcueZpi2AdiFm+RZwq/MXZ9ZhTlAnNhWWJKja+ailoDhkLOBDpDwZUvJQ;
  • In-reply-to: <CAAwq3jy4AheSN69K=f_DNVRkyiRGqdBt2i5Cdqpoc6mMPMH9Kg@mail.gmail.com>
  • References: <CAAwq3jy4AheSN69K=f_DNVRkyiRGqdBt2i5Cdqpoc6mMPMH9Kg@mail.gmail.com>

Добрый день, сегодня нашел почему именно не отррабатывают правила но
try_file насколько я понял в старом nginx  не понимают $
фактически проблема была вот в этом


location ~* ^.+\.(htm|html)$ {
                        root /var/www/$host/web;
                        if ($host ~* ^(www\.)(.+)) {
                        set $HBW $2;
                        root   /var/www/$HBW/web;
                        }
                        try_files $uri /index.php;
                        access_log off;
                        expires 30d;
                        }
А следовательно если файл фактически отсутствует то передать его статически
из php
а  в данном локейшене отдается только статика  и php попросту не работает
Соответственно если я добавлю сюда

index index.php index.html index.htm;
                                        root /var/www//web/;
                                        proxy_pass http://$host:82;
                                        proxy_set_header X-Real-IP  
$remote_addr;
                                        proxy_set_header Host $host;
                                        proxy_set_header X-Forwarded-For 
$proxy_add_x_forwarded_for;
То все работает
но html больше всегда отдается через php
А Мне нужно только если  файла нет то отдавать   как php и А если есть то
просто отдавать статику как и всегда.

следовательно я написал следующее условие что при  try_files $poteryan
отдавать
location $poteryan
root /var/www//web/;
                                        proxy_pass http://$host:82;
                                        proxy_set_header X-Real-IP  
$remote_addr;
                                        proxy_set_header Host $host;
                                        proxy_set_header X-Forwarded-For 
$proxy_add_x_forwarded_for;

И по идее насколько я понимаю если файл потерян то отдастся  все пойдет 
напрямую без nginx
что вполне устроит. фактически такие сайты будут работать без кеширования
html
Но почему то $potehyan не работает
Подскажите пожалуйста почему ?

nginx очень старый.

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,234927,235407#msg-235407

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.