0

私は恐ろしい yslow を使用しており、遠い将来の有効期限のない 39 個の静的コンポーネントを持っています。私を追い出すメッセージ。

私はいくつかのチュートリアル/返信に従い、httpdocs/.htaccess内でこれを思いつきました

#Expire Header
ExpiresActive On
<FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css|swf)$">
    ExpiresDefault "access plus 6 months"
    Header append Cache-Control public
</FilesMatch>

ただし、たとえば、ファイルがすべて保存されているディレクトリはクレイジーです。たとえば、これらを持っています。

httpdocs/mpu/
httpdocs/css/
httpdocs/images/
httpdocs/js/
httpdocs/favicon.ico
httpdocs/mph/
httpdocs/min/
httpdocs/js/sliders/
httpdocs/js/gallery/

FilesMatch 式がすべてのサブディレクトリ ファイルをキャプチャするかどうかは完全にはわかりません。

もしそうなら、私の上記のスニペットがまだ遠い将来の有効期限がないと言っている理由を誰でも見ることができます.

編集: これはクロムからのヘッダー応答です

Request Headers

Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Pragma:no-cache
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11

Response Headers

Accept-Ranges:bytes
Cache-Control:max-age=15552000, public
Connection:close
Content-Length:3597
Content-Type:image/png
Date:Mon, 23 Jul 2012 10:49:43 GMT
Expires:Sat, 19 Jan 2013 10:49:43 GMT
Last-Modified:Thu, 21 Jun 2012 16:46:19 GMT
Server:Apache
X-Powered-By:PleskLin
4

1 に答える 1

-1

FilesMatch セレクターが機能していないと思われる場合は、ExpiresByType ディレクティブを使用してテストすることもできます。

ExpiresActive on
ExpiresByType image/gif "access plus 1 week"
ExpiresByType image/jpeg "access plus 1 week"
ExpiresByType image/png "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 year"

含めたヘッダーを見ると、少なくともそのファイルでキャッシュ コントロールが適切に設定されているように見えます。

Cache-Control:max-age=15552000, public
Date:Mon, 23 Jul 2012 10:49:43 GMT
Expires:Sat, 19 Jan 2013 10:49:43 GMT

max-age パラメーター 15552000 は 6 か月に等しく、Expires ヘッダーは今日 + 6 か月です。

この結果は、YSlow が有効期限ヘッダーを持っていないと考えているファイルの 1 つに対するものですか? 問題を示す公開リンクはありますか?

于 2012-07-23T19:22:59.570 に答える