为所有js和css(某些文件除外)设置Nginx expires头

为所有js和css(某些文件除外)设置Nginx expires头,nginx,Nginx,我使用Nginx config设置js、css expires头 location ~* \.(js|css)$ { expires 30d; } 如何从缓存中跳过特定文件(例如:abc.js、style.css)?尝试: location ~* \.(js|css)$ { location ~* (file\.js|name\.css)$ { expires off; } expires 30d; } 或 尝试: 或 这应该可以做到 locati

我使用Nginx config设置js、css expires头

location ~* \.(js|css)$ {
  expires 30d;
}
如何从缓存中跳过特定文件(例如:abc.js、style.css)?

尝试:

location ~* \.(js|css)$ {
    location ~* (file\.js|name\.css)$ {
        expires off;
    }
    expires 30d;
}

尝试:

这应该可以做到

location ~* \.(js|css)$ {
  expires 30d;
}
location = /path/to/abc.js { expires off; }
location = /path/to/style.css { expires off; }
有关完整的解释,请参阅。

这样就可以了

location ~* \.(js|css)$ {
  expires 30d;
}
location = /path/to/abc.js { expires off; }
location = /path/to/style.css { expires off; }

有关完整的解释,请参阅。

应该是这样的。您确定没有使用已关联30天的资源进行测试吗?您也可以将带有“expires off”的特定位置放在另一个位置的上方,如编辑中所示。在第二个示例中,第二个
位置是否总是会被命中?第一个位置块将优先。有趣的是,我不知道。它应该被命中。您确定没有使用已关联30天的资源进行测试吗?您也可以将带有“expires off”的特定位置放在另一个位置的上方,如编辑中所示。在第二个示例中,第二个
位置
不总是会被命中吗?第一个位置块将优先。有趣的是,我不知道这一点。