2011-07-14 22 views
6

私たちのサイトのfavicon.icoファイルは何年も前から変更されておらず、すぐには変更されませんので、遠くのキャッシュ有効期限ヘッダーを使用するようIISを構成したいと考えています。私のサイトのルートフォルダにある残りのコンテンツはキャッシュされるべきではない動的ページですが、私が知る限り、IISはフォルダ単位でコンテンツの有効期限キャッシュを設定することしかできません。 favicon.icoのキャッシュヘッダーをホームディレクトリの他のコンテンツにも影響を与えずに設定する方法はありますか?favicon.icoのキャッシュヘッダーを公開するにはどうすればよいですか?

答えて

9

イエス - ファイルをドリルダウンします。

IISマネージャー(IIS6)でファイルに移動し、右クリックし、プロパティ、[HTTPヘッダー]タブをクリックし、[コンテンツ有効期限を有効にする]をオンにします。他の設定でパーティします。

IIS7の指示とこのスニペットのためのディラン(下記)への功績。

これにより、web.configに次のセクションが作成されるため、ファイルを直接編集するだけで同じことが実現できます。

<configuration> 
    <location path="favicon.ico"> 
    <system.webServer> 
     <staticContent> 
     <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="90.00:00:00" /> 
     </staticContent> 
    </system.webServer> 
    </location> 
</configuration> 
+1

驚くばかりです。 1つのポイント - ファイルを右クリックしてプロパティを表示することはできませんでしたが、コンテンツビューでそのファイルを強調表示した後、favicon.icoが左側のナビゲーションツリーに表示されました。これをハイライト表示して「HTTPレスポンスヘッダー "アイコンをクリックしてください。 IIS7では設定がweb.configに保存されていますので、このプロセスで実際に作成されたXMLスニペットを回答に追加しました。 –

+0

これはバージョンのことです。私の「適切な」サーバーはIIS6なので、私のアプローチを確認しました。私のWin7ノートパソコンにはIIS7があり、あなたのアプローチはうまくいった。コンテンツビューで強調表示してプロパティがないことを確認した後、機能ビューに移動する必要があるという警告メッセージが表示されました。あなたのように、そこには一度、左側のツリービューがありました。編集された答え。 – RichardHowells

+8

私のweb.configファイルをこのスニペットで更新し、YSlowを見ると、(有効期限なし)として表示されます。私はIIS 7を使用しています。 –

関連する問題