gcache を使用して Web サイトのページ全体を HTML にキャッシュし、次にそれを読み取ってユーザーに表示するだけです。次のようになります。
$enableCache = true;
if ($enableCache)
{
include("gcache.php");
$cache = new gCache;
$cache->folder = "temp/";
$id = join("", $_GET);
$id = ereg_replace("[^A-Za-z0-9]", "", $id);
$cache->contentId=$id;
$cache->timeout = 5;
/* its mean gCache cached the whole page */
/* so, gcache, decide if he must response the compressed or */
/* uncompressed cache*/
$cache->isPage = true;
if ($cache->Valid()) {
echo $cache->content;
die;
}
$cache->capture();
}
そして正常に動作します。サイトのヘッダーに「ログイン」リンクを追加しました。人がそれをクリックすると、クレジット情報を提供するサブページにリダイレクトされ、セッションパラメーターが設定されます (session_start が呼び出される前に):
$_SESSION['theUser'] = $userId;
header( "refresh:1;url=http://mysite.com");
そして、人は mysite.com にリダイレクトされます。しかし、問題は、サイトがキャッシュから取得されたことを確認することです。したがって、右上隅に再び「ログイン」がありますが、 $_SESSION['theUser'] が設定されている場合はそれを表示し、ログアウトするためのリンクを提供するように設定しました。ただし、ログインしていないバージョンの Web サイトがユーザーに返されるため、表示されません。
これを修正する方法は?