使用htaccess设置静态资源的到期时间

时间:2016-02-16 08:26:25

标签: .htaccess expires-header

了解到,设置静态资源的到期日期可以使您的网站快速上升并进入排名。

我的问题是:

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

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

  3. 这是我添加到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>
    

1 个答案:

答案 0 :(得分:2)

来自mod_expires documentation

  

到期日期可以设置为相对于源文件上次修改的时间,或客户端访问的时间。

以下是语法:

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

其中base是以下之一:

     
      
  • 访问
  •   
  • 现在(相当于'访问')
  •   
  • 修改
  •   
     

plus关键字是可选的。 num应为[{1}}]可接受的整数值,atoi()为以下之一:

     
      
  •   
  • 个月
  •   
  •   
  •   
  • 小时
  •   
  • 分钟
  •   
  •   

所以如果你写:

type

只要访问者不间断地请求它超过一个月,即使您修改了文件,也会缓存您的文件。

然后你应该写:

ExpiresByType image/gif "access plus 1 month"

然后,只要文件未被修改,您的文件将被缓存一个月,否则缓存将被更新。