css - 如何为css/js文件设置缓存

标签 css javascript

我必须为网站中使用的 css 文件和 js 文件使用缓存。 我的网站在共享托管服务器上运行。服务器无能为力。

那么对js和css文件使用缓存和压缩的解决方案是什么。

最佳答案

如果您使用的是 Apache,我会从这里开始。

压缩和缓存是不同的东西。

对于压缩,PHP Minify 或 YUI Compressor 都很棒。如果一切都失败了,TextMate 有一个很好的 Javascript 工具包,可以让你压缩你的代码。您可以手动压缩您的代码,然后上传它,然后取消压缩以使源恢复到可读状态。我不推荐这样做,但我以前做过。

有关缓存,请阅读 askapache.com 站点。有几种简单的方法可以打开 mod_expires、mod_compress 和其他模块。由于您在共享主机上,这里有一些注意事项,因为主机可能关闭了某些 Apache 模块。我用过 GoDaddy,他们关闭了 mod_expires。有关 Apache 模块的主机特定信息,请参阅主机支持文档。

如果幸运的话,重要的已经开启,您可以:

<IfModule mod_deflate.c>
  SetOutputFilter DEFLATE
  SetEnvIfNoCase Request_URI \
  \.(?:gif|jpe?g|png)$ no-gzip dont-vary
</IfModule>

<IfModule mod_expires.c>
  ExpiresActive on
  ExpiresByType image/jpg "access 2 month"
  ExpiresByType image/gif "access 2 month"
  ExpiresByType image/jpeg "access 2 month"
  ExpiresByType image/png "access 2 month"
  ExpiresByType text/css "access 2 month"
  ExpiresByType application/x-javascript "access plus 2 month"
  ExpiresByType text/javascript "access plus 2 month"
  ExpiresByType application/javascript "access plus 2 month"
  ExpiresByType image/x-icon "access plus 12 month"
  ExpiresByType image/icon "access plus 12 month"
  ExpiresByType application/x-ico "access plus 12 month"
  ExpiresByType application/ico "access plus 12 month"
</IfModule>`

将此代码放入您的 .htaccess 文件中,打开 FireFox,然后打开 Firebug,然后打开 YSlow。运行 YSlow 测试,它会让您知道缓存是否正常工作。

关于css - 如何为css/js文件设置缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2537185/

相关文章:

javascript - 什么会导致元素在 Firefox 中正确显示,但在 Chrome 或 Safari 中不能正确显示?

javascript - HammerJS pan 在 Firefox 中的孙元素失败

css - html页面上的白框大约50px宽不知道它来自哪里

javascript - Promise.catch 正在吞噬错误

javascript - 用于创建 Canvas 并下载为图像的 Angular 指令

javascript - 如何禁用tinymce编辑器中的标准选项卡事件?

javascript - 首先在选中复选框的情况下显示表中的行

css - 如何在媒体查询中将两个 div 放在彼此之上的列中?

html - float 使 div 不包围 child

html - SVG图像作为背景图像时如何修改填充颜色?