Nginx为索引页面设置单独的浏览器缓存过期

时间:2013-06-06 07:13:57

标签: nginx

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

我尝试了什么

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


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

index.htm页面的有效期应为1米,但我在响应标头中获得5d。

1 个答案:

答案 0 :(得分:0)

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

处理请求“/”更复杂。它仅与前缀位置“/”匹配,因此,它由此位置处理。然后索引指令根据其参数和“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;
}