月別アーカイブ: 2013年11月




Apacheの有効期限設定「ExpiresByType」と圧縮設定「mod_expires」が、JSファイル(JavaScript)に効かない場合にすること




投稿日:

最近、Apacheの設定をしていたら、圧縮もブラウザの有効期限設定もとあるJSファイルにのみ効いていないことが分かりました。その時の修正です。

設定としては、こんな感じです。


【ダメな例】

■ 圧縮設定 mod_expires
[html]
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
[/html]
■ 有効期限 ExpiresByType
[html]
  ExpiresByType application/javascript "access plus 2 weeks"
  ExpiresByType application/x-javascript "access plus 2 weeks"
[/html]

【修正した例】

■ 圧縮 mod_expires
[html]
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE text/javascript
[/html]
■ 有効期限 ExpiresByType
[html]
  ExpiresByType application/javascript "access plus 2 weeks"
  ExpiresByType application/x-javascript "access plus 2 weeks"
  ExpiresByType text/javascript "access plus 2 weeks"
[/html]



そう、それぞれtext/javascriptが抜けていました。


このタイプについては、Firefoxのfirebugなどで確認します。ネットワークのタブでその要素のResponse Headers を確認すると「Content-Type:text/javascript」というように確認できます。


抜けが合った場合はContent-Typeを確認して追加しましょう。