NGINX: Ignoring Certain URL Parameters for Cache Purposes
Solution 1:
I haven't tested an approach like this, but I think it could work:
map $args $cacheargs {
~^(.*)a=.+&(.*)$ $1$2;
}
map $cacheargs $cacheargs1 {
~^(.*)b=.+&(.*)$ $1$2;
}
uwsgi_cache_key $scheme$host$request_method$uri$cacheargs1;
First map removes a=.+
from $args
and records it to $cacheargs
.
Second map removes b=.+
from $cacheargsand records it to
$cacheargs1`.
Then $cacheargs1
is used as part of the cache key.
Original answer below.
You can use:
uwsgi_cache_key $scheme$host$request_method$uri$arg_a$arg_b;
This means that the cache key is built using normalized URI (without query arguments), and query arguments a
and b
.