ПРОЕКТЫ 


  АРХИВ 


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]

location uri с аргументами включительно


  • To: nginx-ru@xxxxxxxxx
  • Subject: location uri с аргументами включительно
  • From: Sergey Croitor <scroitor@xxxxxxxxx>
  • Date: Sat, 12 Jan 2013 21:10:00 +0200
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=0A7y2+HHUb9+VHskE45m6iH5dtRs1QWGpGZOW+davx0=; b=nCu3Lz9mSHYCCXgtrSmFhrEQBSiDIttMrQmzl/ySsGEQEYRekBUvNQdnUnIsVMD+cr XGlt/+2Gk94b07YAQXiLFlwbrIzY7TetjzFzrtHyb5AIz28Nvn2FDk2xavgy2LR3cbui gH7UrbJl98wOdgJggm1w+Xq8ejcicg+BTih31ebw9i2e3U4T4T4LeqOxht8tvAR+PhC3 APuvY3KZXF12K/ema3ntdAjcnSLHQXf24mzwCuXbLItPTLW++Qa9wggmVo8gJYp7x+en w/phBg2YG7+rp1KjVxgnVF9BlXIg4+oQKUNtHc/6hkUBn0t5HLpx5pbCCMlG4E5PN+Ze w1nw==

Доброго времени суток всем!

Пытаюсь организовать кэширование страниц с uri начинающегося со следующих символов:
/index.php?main_page=nocachedajax&q=savelocation

Надо сделать это только для роботов

Поначалу была мысль сделать так:

location /index.php?main_page=nocachedajax&q=savelocation {
                proxy_pass      http://backend;
                proxy_cache cache;
                proxy_cache_valid 200 302 304 1800m;
                proxy_cache_valid any 1s;
                proxy_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$host|savelocation";
                proxy_hide_header "Set-Cookie";
                proxy_ignore_headers "Cache-Control" "Expires";
                add_header Cache-Control private;
                expires 1800m;
                include         /etc/nginx/proxy.conf;
                if ($http_user_agent !~* (spider|bot|crawler)) {
                    # для нероботов не кэшируем и шлем далее на бэкенд
                    # роботоопределение грубое, но для нашего случая достаточное
                    return 412;
                }
                error_page 412 = @fallback;
        }

или как вариант задания location
location ^~ /index.php?main_page=nocachedajax&q=savelocation {
...
}

Но в документации наткнулся на следующее:
Note that locations of all types test only a URI part of request line without arguments. This is done because arguments in the query string may be given in several ways
То есть все, что после "?", будет проигнорировано и совпадения с указанной строкой не будет никогда.

Кто-то может поделиться идеей как обойти это ограничение и как правильно указать правило для location в этом случае?

Спасибо.

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


 




Copyright © Lexa Software, 1996-2009.