1

私は自分のウェブサイトをできる限り高速化しようとしています。Google の PageSpeed を実行したところ、83/100 でした。

Page は、.js ファイルや .css ファイルなどのリソースを圧縮するように指示しています。

「gzip または deflate でリソースを圧縮すると、ネットワーク経由で送信されるバイト数を減らすことができます。」

わかりました、それから私は自分の.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');

何がうまくいかないのですか?

4

1 に答える 1

0

上記のサンプル コードでは、.php などの html コンテンツに拡張子が指定されていません。

私は通常、ファイル拡張子ではなく、mimetype で gzip を管理します。

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

完全なリストについては、https://github.com/h5bp/html5-boilerplate/blob/master/.htaccessを参照してください。

于 2013-02-25T09:02:15.427 に答える