Re: Проблема с кэширование ПХП страничек!

Maxim Dounin mdounin на mdounin.ru
Пн Апр 5 01:00:29 MSD 2010


Hello!

On Sun, Apr 04, 2010 at 12:53:12PM -0400, klinsmann wrote:

> Пример с каталогом ведь опциональный.
> 
> Основная задача стоит в этом:
> http://www.liveresult.ru/data_loaders/txt_guest.php?catalogue=ru&sport=hockey&txtid=5990&matchid=12343&active_tab=txt&tabs[0]=txt&video_inited=0&forecast=1&s=913f27016b055b7540f466026aa923f9&JsHttpRequest=12702291547661-xml&_=1270229154766
> 
> Здесь последние 3 переменные могут меняться, но при этом одно и 
> тоже содержимое с ними...
> 
> То бишь идея в чём, последние 3 переменные нужно считать 
> одинаковыми.
> 
> То бишь один запрос может быть  с одним набором последних цифр, 
> другой запрос с другими цифрами.

Выдёргивайте из в отдельные переменные те части адреса которые 
должны использоваться в качестве ключа, и стройте ключ из них.  

Сделать это можно например с помощью директив модуля rewrite на 
уровне server:

    set $fargs $args;

    if ($fargs ~ "(.*)&s=[^&]*(.*)") {
        set $fargs $1$2;
    }

    if ($fargs ~ "(.*)&JsHttpRequest=[^&]*(.*)") {
        set $fargs $1$2;
    }

    if ($fargs ~ "(.*)&_=[^&]*(.*)") {
        set $fargs $1$2;
    }

    proxy_cache_key "$host$uri $fargs";

Maxim Dounin



Подробная информация о списке рассылки nginx-ru