これを default.aspx (CMS の外部にある) に入れることで、Sitecore 対応の ASP.NET サイトで出力キャッシュを有効にしています。
<%@ OutputCache Duration="300" VaryByParam="None" %>
そして私のWeb.configで:
<setting name="DisableBrowserCaching" value="false" />
これは、http://[website]/default.aspx のように自分のページに直接アクセスすると機能しますが、ルート サイト http://[website]/ を参照すると機能しません。この場合、繰り返し要求で 304 (変更なし) ではなく、常に 200 応答を返します。
Sitecore を使用していない Web サイトで同じことを試しましたが、キャッシングは IIS 7 および Sitecore 6.4.1 のすべてのインスタンスで機能します。
Sitecore 対応サイトのデフォルト (拡張機能なし) ASP.NET ページの出力キャッシュを有効にするにはどうすればよいですか?
更新:
ローカル マシンで動作しているようです (この問題は QA 環境で発生しました)。唯一の違いは、IIS 7.0 ではなく IIS 7.5 を使用していることですが、web.config と Sitecore インスタンスは同じです。
また、同じ動作を示す別のテスト ページ (http://[website] /Test/default.aspx ) を作成したので、影響を受けるのはルートだけではありません。
更新 2:
悪いニュース - Sitecore は、出力キャッシュが公式にサポートされていないことを確認しました:
「Sitecore CMS は、IIS で有効なユーザー モードまたはカーネル モードの出力キャッシュと連携するように設計されておらず、その使用をサポートしていません。」
これは、特定の URL や環境で機能することがある理由を説明していません。