Nginx设置Js、Css等静态文件的缓存过期时间

location ~.*.(js|css|html|png|jpg)$
{
    expires    3d;
}

expires    3d;  //表示缓存3天

expires    3h;  //表示缓存3小时

expires    max;  //表示缓存10年

expires    -1;  //表示永远过期。

如果设置为-1在js、css等静态文件在没有修改的情况下返回的是http 304,如果修改返回http 200

http 304:自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。

http 200:服务器已成功处理了请求,这表示服务器提供了请求的内容。

============================================================
如果不想让代理或浏览器缓存,加no-cache参数
add_header Cache-Control no-cache;
这样浏览器F5刷新时,返回的就是http 200,而不是http 304

如果想要指定的某个js文件不缓存,

location ~.test.(js)$
{
    expires    -1;
}

上面配置表示 test.js 在浏览器中不缓存

转自Nginx设置Js、Css等静态文件的缓存过期时间

原文地址:https://www.cnblogs.com/lwmp/p/8251934.html