Yslow,添加过期标头不起作用



所以,我有Yslow,我正在尝试添加过期标头。

所以我在我的网站的根目录上有一个.htaccess

<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 1 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/x-javascript "access plus 216000 seconds"
  ExpiresByType application/javascript "access plus 216000 seconds"  
</ifModule>
<ifModule mod_headers.c>
  <filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=2592000, public"
  </filesMatch>
  <filesMatch "\.(css)$">
    Header set Cache-Control "max-age=604800, public"
  </filesMatch>
  <filesMatch "\.(js)$">
    Header set Cache-Control "max-age=216000, private"
  </filesMatch>
  <filesMatch "\.(xml|txt)$">
    Header set Cache-Control "max-age=216000, public, must-revalidate"
  </filesMatch>
  <filesMatch "\.(html|htm|php)$">
    Header set Cache-Control "max-age=1, private, must-revalidate"
  </filesMatch>
</ifModule>

我启用了mod_headers和mod_expires:

root@heisenberg:~# a2enmod headers
Module headers already enabled
root@heisenberg:~# a2enmod expires
Module expires already enabled

但是没有效果,我总是和Yslow一起"F"...我能为此做些什么?我已经阅读了堆栈溢出的其他主题....

谢谢!

当遇到类似的问题时,以下链接帮助我在 Apache 上设置了过期标头。

http://www.simonwhatley.co.uk/how-to-set-an-expires-header-in-apache。

在 httpd.conf 的项目配置中的文档模块中添加 ExpiresActive OnExpiresByType 对我来说是诀窍。也许这也对你有帮助。

另外,我不需要将缓存控制添加到标头中。它们会自动添加到标头中。我不是专业人士,但这是我观察到的。

相关内容

  • 没有找到相关文章

最新更新