我们应该如何设置nginx-expires只针对名字中包含哈希的文件?
例如,angular构建过程会输出。
例如,angular构建过程会输出: where:
ngs-worker.js
(非哈希值文件名)不能被缓存。polyfills-es5.3eb4a9891f4a514281f1.js
等。可永久缓存现在,我知道我可以为所有的缓存设置最大的到期时间 js
文件,并排除一些文件(如 ngs-worker.js
)但当我忘记了一个非哈希文件,或者未来的版本会产生更多的非哈希文件时,这将是灾难性的。
我们应该如何处理这个问题?也许可以使用 检索词 来查找所有的哈希文件?
我们使用一个regex来查找所有名称中包含20个字符的哈希值的文件(用点包围)。
# e.g. 'polyfills-es5.3eb4a9891f4a514281f1.js'. 'roboto-v18-latin-300.815babffe97b00a1f30b.woff2', ..
location ~* "\.[a-f0-9]{20}\." {
access_log off;
expires max;
}
请注意,必须引用位置的regex--请看这个。所以回答