私が管理しているアプリにオフライン キャッシュを追加しようとしています。AppCache を使用するのはこれが初めてなので、最初に小さなデモ サイトで試してみることにしました。これまでのところ、これのオフライン部分を正しく機能させることができませんでした。Firefoxでは日付が正しく更新されていますが、スクリプト内でキャッシュなしのヘッダーをすべて送信しているにもかかわらず、印刷された日付/時刻がページ上で変更されないため、Chromeはindex.phpをキャッシュしているようです。(ネットワーク アダプターを無効にして) オフラインにすると、コンソールに次のエラーが表示されますが、Chrome は引き続き、マニフェストで指定された offline.html ではなく、キャッシュされた index.php を表示します。
アプリケーション キャッシュ エラー イベント: マニフェストのフェッチに失敗しました (-1) http://html5test.g1testserver/manifest.appcache
Firefox は単に「接続できません」ダイアログを表示します。サイトのレイアウトとファイルの内容はすべて以下のとおりです。
サイトのレイアウト:
/root/
- manifest.appcache
- index.php
- offline.html
- .htaccess
マニフェスト.appcache:
CACHE MANIFEST
# version 3
CACHE:
offline.html
NETWORK:
index.php
FALLBACK:
/ offline.html
index.php:
<?php
header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
echo '<!DOCTYPE html>
<html manifest="/manifest.appcache">
<head>
<title>HTML5 Test</title>
<meta http-equiv="CACHE-CONTROL" content="NO-CACHE" />
</head>
<body>
<h1>This is index.php: '.date('d/m/Y H:i:s').'</h1>
</body>
</html>
';
?>
offline.html:
<!DOCTYPE html>
<html manifest="/manifest.appcache">
<head>
</head>
<body>
<h1>This will be served in place of index.php</h1>
</body>
</html>
.htaccess:
AddType text/cache-manifest .appcache