如何使用apache为html文件设置不缓存标头?

时间:2009-02-18 01:24:13

标签: ajax apache

我正在做一些ajax,我得到一个静态的html文件,该文件实际上在磁盘上经常被更改。当然IE有一个问题,它希望通过缓存我不想要的文件来帮助。我知道如何在抓取动态文件时修复此问题:您只需更改动态文件中的标题即可。但是我如何为静态html文件执行此操作?请注意,我使用的是apache。

由于

2 个答案:

答案 0 :(得分:3)

在Apache级别,您可以使用mod_expires模块设置文档的到期日期。

来自文档:

  

此模块控制服务器响应中的Expires HTTP标头和Cache-Control HTTP标头的max-age指令的设置。到期日期可以设置为相对于上次修改源文件的时间或客户端访问时间。

     

这些HTTP标头是客户关于文档有效性和持久性的指令。如果缓存,则可以从缓存而不是从源获取文档,直到此时间过去。之后,缓存副本被视为“已过期”且无效,并且必须从源中获取新副本。

http://httpd.apache.org/docs/2.0/mod/mod_expires.html

的更多详情

答案 1 :(得分:1)

如果您可以使用mod_expires作为Marcel建议,则可以随时附加随机请求参数。

例如,您可以请求static_file.html而不是请求static_file.html?_=1231231231,而是每次都更改该请求参数。

jQuery有一个非常简单的方法:

$.ajax({cache: false, url: static_file.html});