web-dev-qa-db-ja.com

ブラウザのキャッシュを活用する| .htaccessファイルの変更| -javascriptファイルでは機能しません

リソースの有効期限を指定して、.htaccessファイルを変更しようとしています。画像では機能しますが、JavaScriptファイルでは機能しません。 GTMetrixを実行する場合でも、javascriptファイルの有効期限が必要であることをお勧めします。 「application/javascript」と「application/x-javascript」を試しましたが、役に立ちませんでした。

私が間違っていることがわからない。

これが私のコードです:

     ## EXPIRES CACHING ##
    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access 1 year"
    ExpiresByType image/jpeg "access 1 year"
    ExpiresByType image/gif "access 1 year"
    ExpiresByType image/png "access 1 year"
    ExpiresByType text/css "access 1 month"
    ExpiresByType application/pdf "access 1 month"
    ExpiresByType application/javascript "access 1 week"
    ExpiresByType application/x-shockwave-flash "access 1 month"
    ExpiresByType image/x-icon "access 1 year"
    ExpiresDefault "access 2 days"

    </IfModule>
    ## EXPIRES CACHING ##
13
kad

これを追加すると機能します。

ExpiresByType text/x-javascript "access plus 1 month"  
ExpiresByType application/javascript "access plus 1 month"  
ExpiresByType application/x-javascript "access plus 1 month"
23
Amjad

ブラウザインスペクタのChrome/FireFox/Operaの[ネットワーク]タブを使用して、アセットを確認し、提供されている「コンテンツタイプ」の種類を確認できます。

私の場合はContent-Type:"text/javascript"

そこで、.htaccessファイルにExpiresByTypeの4つの順列を追加しました

ExpiresByType text/javascript "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"  
ExpiresByType application/x-javascript "access plus 1 month"

これで私の問題は解決し、他の人の役に立つことを願っています。

14
Craig London