清除Apache自己的缓存

时间:2015-10-29 11:12:29

标签: apache caching

如何清除运行ubuntu 14.04lts的远程服务器上的apache缓存?

我的问题:

从myurl.com/myfile.css获取CSS文件会给我一个旧文件。实际上我已经改变了这个文件的内容。

之后,我更改了我的.htacces文件以禁用缓存:

<ifmodule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 7200 seconds"
  ExpiresByType image/gif "access plus 518400 seconds"
#  ExpiresByType image/jpeg "access plus 518400 seconds"
#  ExpiresByType image/png "access plus 518400 seconds"
#  ExpiresByType text/css "access plus 518400 seconds"  
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifmodule>

<ifmodule mod_headers.c>
  # Cache specified files for 6 days(release cycle normally a week)
  <filesmatch "\.(ico|flv|jpg|jpeg|png|gif|css|swf)$">
  #  Header set Cache-Control "max-age=518400, public"
</filesmatch>
 # Cache HTML files for a couple hours
  <filesmatch "\.(html|htm)$">
  Header set Cache-Control "max-age=7200, private, must-revalidate"
  </filesmatch>
  # Cache PDFs for a day
  <filesmatch "\.(pdf)$">
  Header set Cache-Control "max-age=86400, public"
  </filesmatch>
  # Cache Javascripts for 2.5 days
  <filesmatch "\.(js)$">
#  Header set Cache-Control "max-age=216000, private"
  </filesmatch>
</ifmodule>

仍然是同样的问题。我开始谷歌并发现了很多主题,都说,这是一个客户端浏览器问题。

所以我清除了浏览器上的缓存,尝试了不同的电脑,并且只是忘记了文件。

同样的问题

所以我看了一下服务器,对文件做了一个vi:在服务器上更改了文件。

我错过了什么吗?从我的意见,只能是,apache仍在缓存http请求上的文件。 http代码是200

实际上,添加像myurl,com / myfile.css?525235这样的时间戳解决了这个问题。

1 个答案:

答案 0 :(得分:0)

检查与ETag相关的设置。

<IfModule mod_headers.c>
  ExpiresActive On
     <FilesMatch "!.(gif|jpe?g|png|js|css|php)$">
       ExpiresACtive On
       ExpiresDefault "access plus 1 year"
       Header unset Cookie
       Header unset Set-Cookie
       php_value session.cookie_domain example.com
    </FilesMatch>
<FilesMatch "\\.(x?html?|php)$">
    Header set Cache-Control "max-age=600, private, must-revalidate"
</FilesMatch>
<FilesMatch "\\.(ico|jpe?g|png|gif|swf|woff)$">
    Header set Cache-Control "max-age=31536000, public"
    Header unset Cookie
    Header unset Set-Cookie
</FilesMatch>
<FilesMatch "\\.(css)$">
    Header set Cache-Control "max-age=2692000, public"
    #ExpiresDefault A29030400
</FilesMatch>
<FilesMatch "\.(js)$">
    #Header set Cache-Control "max-age=2692000, public"
    ExpiresDefault A29030400
  </FilesMatch>
  <FilesMatch "\\.(js|css|xml|gz)$">
      Header append Vary: Accept-Encoding
   </FilesMatch>
  Header unset Pragma
  FileETag None
  Header unset ETag
  Header append Cache-Control "public" 
</IfModule>