Welcome! Log In Create A New Profile

Advanced

Re: Вопрос по логике

Александр
September 22, 2009 03:46AM
Sergey Shepelev пишет:
> 2009/9/22 Александр <sytar.alex@gmail.com>:
>
>> Добрый день
>>
>> Есть конструкция вида:
>>
>> 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 ...
> }
>

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

Вопрос по логике

Александр September 22, 2009 02:10AM

Re: Вопрос по логике

Sergey Shepelev September 22, 2009 02:54AM

Re: Вопрос по логике

Александр September 22, 2009 03:46AM

Re: Вопрос по логике

Eugene Mychlo September 22, 2009 03:10AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 321
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready