0

我有一个 nginx Web 服务器设置,我需要在其中为我的索引页面指定单独的浏览器级缓存到期 ( expires )。

我试过的

location =/{
 expires 1m;
 root /data/site;
 index index.htm;
}


location /{
expires 5d;
root /data/site;
 }

index.htm 页面应该有 1m 的到期时间,但我在响应标头中得到 5d。

4

1 回答 1

1

终于得到了答案。必须手动完成 nginx 工作。

处理请求“/”更复杂。它仅与前缀位置“/”匹配,因此由该位置处理。然后 index 指令根据其参数和“root /data/site”指令测试索引文件的存在。如果文件 /data/site/index.htm 存在,则指令执行内部重定向到“/index.htm”,并且 nginx 再次搜索位置,就好像请求已由客户端发送一样

所以我不得不再添加一个位置来搜索我的 index.htm 文件

location ~* \index.(htm?l)$ {
  expires 1d;

  root  /data/site;
  index  index.html index.htm;
}
于 2013-06-06T14:54:03.437 回答