> On 25 Sep 2018, at 16:35, Palvelin Postmaster via nginx <[email protected]> 
> wrote:
> 
> I use Wordpress’ REST API post feed to embed articles on an external site. My 
> articles are updated fairly seldom, so there’s probably no need to 
> dynamically compile every request response. I’m thinking of using fastcgi 
> cache to cache the feed.
> 
> I’m currently skipping caching for all requests with a $query_string. 
> However, the REST API URL’s also contain a query string and thus don’t 
> currently get cached.
> 
>       if ($query_string != "") {
>               set $skip_cache 1;
>       }
> 
> Is it possible to cache the REST API URL’s but skip cache for all other URL’s 
> containing a $query_string?

In the absense of better suggestions, this seems to work. :)

# Wordpress-specific: URLs with a query string shouldn't be cached except when 
REST API
if ($request_uri ~ "^/wp-json/wp/v2/posts/.*") {
        set $cache_restapi "CACHE";
}

if ($query_string != "") {
        set $cache_restapi "${cache_restapi}NOT";
}

if ($cache_restapi = "NOT") {
        set $skip_cache 1;
}


--
Palvelin.fi Hostmaster
[email protected]

_______________________________________________
nginx mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to