同样,在 Apache 中,有没有办法在 nginx 中设置多个标头?
location ~.*\.(css|html|js)$ {
expires 30d;
我目前有那套,但我考虑让 js 和 css 在 90 天后过期。
那可能吗?
答案1
是的,你可以。请参阅HttpHeaders和HttpHeaders更多模块。
但是,为什么你需要多个标头来实现这一点呢?似乎这就足够了:
location ~.*\.html$ {
expires 30d;
}
location ~.*\.(css|js)$ {
expires 90d;
}
答案2
一般来说,您不想缓存 HTML 页面,因为它们通常是 CSS/JS 等静态资产。如果您决定更改 HTML 文件,使用当前的 30 天过期设置,已在 30 天内访问过该网站的浏览器将不会请求新页面。
事实上,如果你知道你的 HTML 页面除了在特定日期之前不会改变,那么你可以在处理请求时使用给定日期的 Expires,而不仅仅是一般的 30 天形式。
但您可能不想缓存 HTML...