How can i write this location?
Maxim Dounin
mdounin at mdounin.ru
Tue Sep 8 17:57:00 MSD 2009
Hello!
On Tue, Sep 08, 2009 at 06:08:01PM +0800, Chancey wrote:
> Hi guys!
>
> How to set expires the URL like http://a.com/a.js?v=xxx and http://a.com/a.css?v=xxx.
> only match URL with "?v="
>
> i write this, but can't invalidation :
>
> location ~* \.(js|css)\?v=.* {
> expires 1y;
> }
Location directives doesn't match query string, you have to
use "if" to check for "v" argument.
Something like this should work:
location ~* \.(js|css)$ {
if ($arg_v) {
expires 1y;
}
# no expires for requests without v= argument
}
Note that generally "if" is evil (search mailing list archive for
details) and it's use is discouraged. In this particular case
it should be safe enough, but expanding the above configuration
may introduce problems.
Maxim Dounin
More information about the nginx
mailing list