谷歌PageSpeed压缩和.htaccess

时间:2013-02-22 17:41:47

标签: .htaccess caching optimization

我正尽力加快我的网站速度。我跑了谷歌的PageSpeed,获得了83/100。

Page表示压缩资源,例如.js和.css文件。

“使用gzip或deflate压缩资源可以减少通过网络发送的字节数。”

Okey,然后我用Google搜索并编辑了我的.htaccess:

<IfModule mod_deflate.c>
  <FilesMatch "\.(css|js|xml)$">
    SetOutputFilter DEFLATE
  </FilesMatch>
</IfModule>
<IfModule mod_headers.c>
  <FilesMatch "\.(js|css|xml|gz)$">
    Header append Vary: Accept-Encoding
  </FilesMatch>
</IfModule>
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/png A604800
  ExpiresByType image/gif A604800
  ExpiresByType image/jpg A604800
  ExpiresByType image/jpeg A604800
  ExpiresByType text/javascript A604800
  ExpiresByType application/x-javascript A604800
  ExpiresByType text/css A604800
</IfModule>

当我检查我的网站时:

接头:

Accept-Encoding gzip, deflate

高速缓存:

Data Size   332
Device  disk
Expires Thu Jan 01 1970 02:00:00

我网站上的PHP:

if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'))
    ob_start("ob_gzhandler"); 
else 
    ob_start();
header('Vary: Accept');
header('Cache-Control: max-age=28800');

任何想法出了什么问题?

1 个答案:

答案 0 :(得分:0)

在上面的示例代码中,没有为html内容指定扩展名,例如.PHP

我通常通过mimetype而不是文件扩展名来管理gzip,例如

  <IfModule mod_filter.c>
    AddOutputFilterByType DEFLATE application/atom+xml \ 
    etc

有关完整列表,请参阅https://github.com/h5bp/html5-boilerplate/blob/master/.htaccess