控制。 不缓存任何东西

介绍

我有一个任务来解决现有网站没有任何内容被缓存的问题(浏览器会话除外)。 当关闭会话并再次打开浏览器时,页面会再次加载大量图像,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