如何禁用Apache的缓存?

17

我只将index.html放在/var/www/html中。 当我更改了index.html的内容并重新加载后,页面没有更新。

我已经像下面这样在httpd.conf中禁用了cache_module。

# LoadModule cache_module modules/mod_cache.so
# LoadModule disk_cache_module modules/mod_disk_cache.so

httpd.conf在哪里?我在Ubuntu的/etc/var中找不到它。 - Aaron Franke
1个回答

25

如果您正在使用htaccess,则可以这样做

#Initialize mod_rewrite
RewriteEngine On
<FilesMatch "\.(html|htm|js|css)$">
  FileETag None
  <IfModule mod_headers.c>
    Header unset ETag
    Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
    Header set Pragma "no-cache"
    Header set Expires "Wed, 12 Jan 1980 05:00:00 GMT"
  </IfModule>
</FilesMatch>

谢谢!但是我把这个设置放在哪里?我把它放在 httpd.conf 的末尾,但什么也没改变... - morizotter
请检查您的托管公司服务器上是否启用了mod_rewrite。还请检查我已经编辑了上面的答案。 - user3470953
非常感谢!我已经将 .htaccess 文件替换为您的新文件。但结果并没有改变。我没有使用托管服务,而是使用 Vagrant 作为服务器。 - morizotter
问题解决了!!!感谢您回答这个入门级问题。我很快就会学习EnableSendfile选项的;) - morizotter
1
那个.htaccess对我不起作用。此外,我的apache2.conf文件中没有包含EnableSendfile on,但我添加了EnableSendfile off,它仍然缓存。 - Aaron Franke
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接