ПРОЕКТЫ 


  АРХИВ 


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: Александр <sytar.alex@xxxxxxxxx>
  • Date: Tue, 22 Sep 2009 11:36:37 +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 :user-agent:mime-version:to:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=oRbH0cRGQnO67yTOO9MWr9gzY5MIVyrIYBshvTY+uyA=; b=hnwKdYKwpGypz21rrqIZ/6Yw4+lBrkTjgkaS4Xnjq8+sdgCJ7pYny7GDNTiB5pkJJQ GS5bE2D4rxISqJoRn4kAWtv3IxqHxsht1sxNAYbBLrALwahWsUg8OJKYl3njqZsyT0SK qixqSwbW1K9QrtGQMDYFa5PJC6x8wz56pIpHE=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=xMLcIAHmZIw6aVHc9qftaFEWL5B9tqnOry3hxVL0fYAMMMyZwNfFmCWnIJwYk+l4Fu 7EuY0mVLamM7qxTR30CW5g21gQ3wMVGtKuQQMZvuWxIaK2p72AtD+KKfgElBNrO62OY4 zA1FTigUCQ4PQ4zj21v+MwJoyDrvgxuqJXpbo=
  • In-reply-to: <2d8fb9950909212347p1d81ca00l7d6a271cd0ab9e52@xxxxxxxxxxxxxx>
  • References: <4AB86805.9040404@xxxxxxxxx> <2d8fb9950909212347p1d81ca00l7d6a271cd0ab9e52@xxxxxxxxxxxxxx>


Sergey Shepelev пишет:
> 2009/9/22 Александр <sytar.alex@xxxxxxxxx>:
>   
>> Добрый день
>>
>> Есть конструкция вида:
>>
>> if ($request_filename !~
>> (js|css|ico|gif|jpg|png|xml|pdf|gz|images|.html|robots.txt|index.php*) ) {
>>        rewrite ^/(.*)$ /index.php/$1 last;
>> }
>>
>>     
>
> .html
> это регексп, который матчит .html, jhtml, shtml, Khtml, 0html.
>
> index.php*
> это регексп, который матчит index.php, index.ph, index.phpppppp,
> indexRph, index9phpp.
>
> Точка матчит любой символ, а звезда матчит предыдущую маску (а
> поскольку скобок не было, то один символ) 0 или больше раз (сколько
> угодно).
>
>   
>> которая должна все файлы кроме статики и index.php отправлять на
>> index.php. Но в данный момент она, скажем, не очень гибкая. Как её можно
>> переписать получше?
>>
>>
>>     
>
> location = / { rewrite ^ /index.php/ last; }
> location / { rewrite ^/(.*) /index.php/$1 last; }
> location ~ (js|css|ico|gif|jpg|png|xml|pdf|gz|images|\.html|robots\.txt)$ {
>   root /path;
>   expires 6h;
>   access_log off;
> }
> location /index.php {
>   proxy(fastcgi)_pass ...
> }
>
> Это нужно, только если вашему PHP скрипту нужно получать запросы на
> несуществующие файлы, например, статика *.mjpg в списке расширений
> отсутствует. Она попадёт на index.php. Оно надо? Иногда бывает, но
> скорее всего - нет.
> Поэтому, самый лучший и гибкий вариант просто отдавать все существующие файлы:
>
> location = / { rewrite ^ /index.php/ last; }
> location / {
>   try_files $uri /index.php/$uri;   # <- здесь может быть ошибка
>   root /path;
>   expires 6h;
>   access_log off;
> }
> location /index.php {
>   proxy(fastcgi)_pass ...
> }
>   

Спасибо ваша конструкция работает как надо.



 




Copyright © Lexa Software, 1996-2009.