如何清除运行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这样的时间戳解决了这个问题。
答案 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>