ignore part of URL to force caching?

AJ Weber aweber at comcast.net
Fri Oct 5 15:45:04 UTC 2012


This worked exactly as Igor described.

Thank you!
-AJ

On 10/5/2012 6:08 AM, Igor Sysoev wrote:
> On Thu, Oct 04, 2012 at 02:20:30PM -0400, AJ Weber wrote:
>> I would like to "override" the intent of the app server that is
>> basically disabling any caching of the backend file.  For example, they
>> are embedding a "noCache=#######" parameter at the end of the URL (there
>> are other parameters following, but if I can check the url up-to the "?"
>> that would suit me fine).
>>
>> This is actually a dynamically generated SWF file, but the file is then
>> constant for a reasonable amount of time such that I'd like to cache it
>> for a few minutes.
>>
>> Is there a way in a specific "location" to tell nginx to ignore the
>> parameters (or any portion of the URL) when determining the cached
>> object for that URL?  In other words, tell nginx to cache content for
>> that location, say only 5min, and ignore all parameters when determining
>> whether to cache and how to match cached content?
>>
>> If I'm not explaining myself properly, please let me know and I'll try
>> another route. :)
> You can use "proxy_cache_key":
> http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_key
>
> For example, to completly ignore query strings:
>
> location /swf/ {
>      ...
>      proxy_cache  ...
>      proxy_cache_valid  5m;
>      proxy_cache_key    $proxy_host$uri;
> }
>
> or to account query strings parameters ONE and TWO:
>
> location /swf/ {
>      ...
>      proxy_cache  ...
>      proxy_cache_valid  5m;
>      proxy_cache_key    $proxy_host$uri?$arg_ONE&$arg_TWO;
> }
>
>



More information about the nginx mailing list