Mapping non-empty $query_string

Igor Sysoev igor at sysoev.ru
Wed Jun 15 05:58:55 UTC 2016


On 15 Jun 2016, at 02:37, Supersmile2009 <nginx-forum at forum.nginx.org> wrote:

> Hi!
> I'm running a Wordpress based website on my server, I've set up fastcgi
> cache recently. Now I want to get rid of evil-ifs, that are used to detect
> cache skipping cases, and replace them with map.
> 
> I managed to convert all common ifs except this one,
> 
> if ($query_string != "") {
>     set $skip_cache 1;
> }
> 
> I'm trying to replace it with non-evil map in http section.
> 
> #skip cache if query string has at least one character 
> map $query_string $skip_cache {
>       "~.+" "1";
> }
> 
> For some reason it doesn't work as intended. It starts bypassing cache on
> ALL pages except main page.

map $query_string $skip_cache {
    ""            0;
    default       1;
}


-- 
Igor Sysoev
http://nginx.com



More information about the nginx mailing list