1

gzip 圧縮やキャッシュなどの最適化手法は初めてです。ネットで調べた結果、いくつかの apache ハンドラに基づく .htaccess を介してこれが可能であることがわかりました。mod_deflate および mod_headers ライブラリが存在し、利用可能かどうかを知るために、ウェブホスティングに問い合わせました

私もfirebugでチェックしました。要求ヘッダー「Accept-Encoding gzip,deflate」が表示されますが、応答フィールドに「Content-encoding」はありません。誰かがどこが間違っているのか教えてもらえますか?

以下は.htaccessファイルのコードです

            Options -Indexes
            Options +FollowSymlinks
            RewriteEngine on

            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule . /index.php [L]

            <IfModule mod_deflate.c>
            AddOutputFilterByType DEFLATE application/x-javascript
            AddOutputFilterByType DEFLATE text/css text/html text/plain text/xml
            DeflateCompressionLevel 9
            </IfModule>


            # ----------------------------------------------------------------------
            # Expires headers (for better cache control)
            # ----------------------------------------------------------------------

            # These are pretty far-future expires headers.
            # They assume you control versioning with filename-based cache busting
            # Additionally, consider that outdated proxies may miscache
            # www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/

            # If you don't use filenames to version, lower the CSS and JS to something like
            # "access plus 1 week" or so.

            <IfModule mod_expires.c>
              ExpiresActive on

            # Perhaps better to whitelist expires rules? Perhaps.
              ExpiresDefault "access plus 1 month"

            # cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
              ExpiresByType text/cache-manifest "access plus 0 seconds"

            # Your document html
              ExpiresByType text/html "access plus 0 seconds"

            # Data
              ExpiresByType text/xml "access plus 0 seconds"
              ExpiresByType application/xml "access plus 0 seconds"
              ExpiresByType application/json "access plus 0 seconds"

            # Feed
              ExpiresByType application/rss+xml "access plus 1 hour"
              ExpiresByType application/atom+xml "access plus 1 hour"

            # Favicon (cannot be renamed)
              ExpiresByType image/x-icon "access plus 1 week"

            # Media: images, video, audio
              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"
              ExpiresByType video/ogg "access plus 1 month"
              ExpiresByType audio/ogg "access plus 1 month"
              ExpiresByType video/mp4 "access plus 1 month"
              ExpiresByType video/webm "access plus 1 month"

            # HTC files (css3pie)
              ExpiresByType text/x-component "access plus 1 month"

            # Webfonts
              ExpiresByType application/x-font-ttf "access plus 1 month"
              ExpiresByType font/opentype "access plus 1 month"
              ExpiresByType application/x-font-woff "access plus 1 month"
              ExpiresByType image/svg+xml "access plus 1 month"
              ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

            # CSS and JavaScript
              ExpiresByType text/css "access plus 1 year"
              ExpiresByType application/javascript "access plus 1 year"

            </IfModule>
4

1 に答える 1

1

ホスト プロバイダーで両方のモジュールが有効になっていますか? 同じプロバイダーでホストされている別の Web サイトを確認しましたか? 小規模なホスト プロバイダーは、共有プランで mod_deflate をオフにして CPU を節約し、共有を増やす場合があります。

サイト上の任意の js リソースを curl しようとしています。例:

curl -I "http://yslow.org/yslow-bookmarklet.js" -H "Accept-Encoding: gzip, deflate"

次のようなものを取得する必要があります。

HTTP/1.1 200 OK
Server: nginx/1.0.13
Date: Wed, 06 Jun 2012 18:31:25 GMT
Content-Type: application/x-javascript
Last-Modified: Fri, 25 May 2012 16:11:28 GMT
Connection: keep-alive
Expires: Thu, 07 Jun 2012 18:31:25 GMT
Cache-Control: max-age=86400
Content-Encoding: gzip

mod_deflateが ON であるContent-Encodingことを確認し、 mod_expiresExpiresCache-Control探します

于 2012-06-06T18:40:14.727 に答える