1

刚刚知道为静态资源设置到期日期可以让您的网站快速运行并提高排名。

我的问题是:

  1. 浏览器是否检查静态资源的创建日期?

  2. 如果我在 1 个月之前对 CSS 进行更改,服务器是否会发送新副本并且浏览器会刷新其缓存?

这是我添加到 htaccess 的代码:

<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On 
# Default directive
ExpiresDefault "access plus 1 month"
# My favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# CSS
ExpiresByType text/css "access plus 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 year"
</IfModule>
4

1 回答 1

2

来自mod_expires 文档

过期日期可以设置为相对于源文件最后一次修改的时间,或者相对于客户端访问的时间。

这是语法:

ExpiresByType type/encoding "base[plus num type] [num type] ..."

其中 base 是以下之一:

  • 使用权
  • 现在(相当于“访问”)
  • 修改

plus关键字是可选的。num 应该是一个整数值[可接受atoi()],并且type是以下之一:

  • 小时
  • 分钟

所以如果你写:

ExpiresByType image/gif "access plus 1 month"

只要访问者连续一个月以上不间断地请求您的文件,即使您对其进行了修改,您的文件也会被缓存。


然后你应该改写:

ExpiresByType image/gif "modification plus 1 month"

那么你的文件只要不被修改就会被缓存一个月,否则缓存会被更新。

于 2016-02-16T09:29:54.700 回答