2012-05-30 4 views
5

httpd.confの最後の行がある動作していない有効期限:私はYSlowのを実行するとヘッダーが

ExpiresActive On 
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> 
    ExpiresDefault "access plus 3 days" 
</FilesMatch> 

それはすべて私のCSSファイル(およびその他)は、有効期限が設定されていないと言います。 CSSファイルはサブディレクトリにありますが、"\."はサブディレクトリに関係なくすべてのファイルと一致するはずです。

Apacheの仮想ホストの設定が、上記指令はhttpd.confの一番下にバーチャルホスト部の外側にあるされています。

.confファイルでLoadModule expires_module modules/mod_expires.soためのディレクティブがあります。

サイトでは、AWSのLinuxとのApache2を実行するAWS上にあります。私はそれが働いたかどうかをチェックする前に、Apacheを再起動しました。あなたの質問への答えで

答えて

7

、これは私のhttpd.confで私の作品:ここ

LoadModule expires_module /usr/lib/apache2/modules/mod_expires.so 
ExpiresActive On 

<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> 
ExpiresDefault "access plus 3 days" 
</filesMatch> 

はしようとするいくつかのことです。

1)あなたが思うところmod_expires.soがあることを確認しますそうです。端末でこれを使用して、どのモジュールが含まれているかを確認することができます:apache2 -M

2)あなたのディレクティブは、あなたがLoadModuleディレクティブは、あなたのhttpdであることを確認してください)

3(すなわち、どこか遠くに行下.htaccessファイルによって上書きされ得ていない)に興味を持っているファイルには適用されていることを確認します。あなたのFilesMatch正規表現でconfファイル

4)、あなたはそれ以外の場合は、あなたが任意の文字にマッチしているバックスラッシュでドットをエスケープする必要があります。ない大きな問題がありますが、例えば(終了icoに注意してください)"site.com/politico"のような非静的なページにルールを適用してしまうと思います。

+0

明確な答えてくれてありがとう。私はコード(あなたのitem3)の配置を除いてすべてが正しかった。私はサイトの仮想ホストセクションに入れて、ystlowが幸せだったことを前提にしました!再度、感謝します。 – Jim

+0

よかった、うれしかったよ! – pieman72

関連する問題