控制。 不缓存任何东西
介绍
我有一个任务来解决现有网站没有任何内容被缓存的问题(浏览器会话除外)。 当关闭会话并再次打开浏览器时,页面会再次加载大量图像,JS和CSS。 由于我每次有60个项目,所以存在很大的负载问题。
问题
审视Chrome控制台,Audit显示以下资源缺少缓存过期...
而在“Response Headers”中的Network项目中甚至没有显示“缓存控制”行。
试用解决方案
我在.htaccess
文件中设置了信息,并确保mod_expires
处于活动状态:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
我在html头中添加了Cache-control
元标记,该标记也显示在页面的代码源中,因此它已被编译。
<meta http-equiv="Cache-control" content="public" content="max-age=604800">
我想补充一点,它很可能不是服务器问题,因为生产页面的主机已将其设置为通常的默认设置。 (而且我无法访问该服务器)
我会非常高兴,如果有人能给我一些我缺少或没有检查或根本不明白的指针。
添加了main.css头文件
谢谢!
你可以通过PHP设置标题,因为这是一个PHP网站。
<?php
header("Cache-Control: max-age=2592000"); //30days (60sec * 60min * 24hours * 30days)
?>
你也可以在你的.htaccess中像这样使用FilesMatch
<FilesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=31536000, public"
</FilesMatch>
那么,虽然愚蠢(正如我所料),但我没有在任何地方读过它,只是忘记了它的需要。
解
事实证明,所有这些变化(如我所说的一切都在服务器上激活,访问文件等)。 问题在于, 在更改缓存信息后 ,我没有清除缓存 。 现在三天后,我开始研究一些CSS,需要重置缓存和繁荣 - 所有新项目的所有新头文件都处于活动状态。
链接地址: http://www.djcxy.com/p/95083.html上一篇: control. Not caching anything
下一篇: LNK2001: My boost libraries are (probably) built incorrectly