1

サイトのメイン スクリプトの上にスマート PHP キャッシュレイヤーを含めたいと考えています。うまく機能しますが、Smart Cache は、キャッシュすべきではないいくつかのページ (検索結果、管理領域など) もキャッシュします。

Smart PHP Cache のソース コードを調べましたが、どのページをキャッシュから除外するか、またはどのように構成するかを構成する方法があるかどうかはわかりません。

したがって、私が必要とするのは、サイトのメイン スクリプトの先頭に挿入されるいくつかの php コードです。スマート PHP キャッシュ コードの前に、ページに次のものが含まれているかどうかを最初に確認します。

"/探す/"

「/管理者/」

"/最新/"

"/other-live-pages/live-page.php"

そして、上記の例の何かが URL に何もしない場合 (smart_cache.php をインクルードせず、他の通常のコードを続行して、ユーザーが実際の結果を確認できるようにする)、そうでない場合は、smart_cache.php をインクルードする上記のものが何もない場合.

または。

一部の URL をキャッシュ メカニズムから除外できるようにスマート PHP キャッシュ内で変更を行うための詳しい知識がある場合(またはその方法を教えてください。キャッシュをバイパスできるスマート PHP キャッシュの構成に何かがあるようです)層ですが、使い方がわかりません。

よろしくお願いします。


質問の更新:

ご回答ありがとうございます。それはうまく機能します。これを行うためにコードを少し変更してください。

"pos1" の場合 (URL に "/search" が含まれる場合)、何もないよりも false、今のように

「pos2」の場合 (URL に「/admin」が含まれる場合)、何もない場合、false、現在のように

"pos3" の場合 (URL に "/latest" が含まれる場合)、インクルード ファイル "smart_cache_latest.php"

その後は今のように、他の URL には「smart_cache.php」を含めます。

したがって、実際には"/latest"を含むURL のみが変更され、"smart_cache_latest.php" を含めてキャッシュする必要があります。

よろしくお願いします。

4

1 に答える 1

2
$currenturl = $_SERVER['REQUEST_URI'];
$pos1 = strpos($currenturl, "/search");
$pos2 = strpos($currenturl, "/admin");
$pos3 = strpos($currenturl, "/latest");

if ($pos1 === false && $pos2 === false){
    require '/path/to/smart_cache.php';
} elseif($pos3 == true) {
    require '/path/to/smart_cache_latest.php';        
}
于 2012-04-29T11:21:09.430 に答える