如果 URL 包含某些内容,则包含.php其他文件不执行任何操作


If URL contains something include .php file else do nothing?

我希望在站点的主脚本之上包含智能PHP缓存层。它工作得很好,但智能缓存也会缓存一些不应该缓存的页面(搜索结果、管理区域......

研究了智能PHP缓存源代码,我不确定是否有某种方法可以配置哪些页面应该从缓存中排除,或者如何配置它。

因此,我需要的是一些 php 代码,这些代码将插入站点主脚本的顶部,然后是智能 PHP 缓存代码,该代码将首先检查页面是否包含例如:

"/搜索/">

"/管理员/">

"/最新/">

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

然后,如果上面示例中的某些内容在 URL 中什么都不做(不包括smart_cache.php并继续使用其他正常代码,以便用户可以看到实时结果(,否则,如果上面没有内容可以包含smart_cache.php。

或。

如果您有更好的知识在智能 PHP 缓存中进行修改,以便能够从缓存机制中排除一些 URL(或告诉我如何做到这一点,因为看起来智能 PHP 缓存的配置中有一些东西可以绕过缓存层,但我不确定如何使用它。

此致敬意。


问题更新:

谢谢你的回答。它工作得很好,我只想问你能不能稍微改变一下代码来制作这个:

如果">

pos1"(如果URL包含"/search"(,则什么都没有,false,就像现在一样

如果

"pos2"(如果 URL 包含"/admin"(,则什么都没有,假,就像现在一样

如果

"pos3"(如果 URL 包含"/latest"(包含文件"smart_cache_latest.php">

之后,就像现在一样,为任何其他 URL 包含"smart_cache.php"。

因此,实际上唯一的更改是针对带有">/latest">的 URL,也应该通过包含"smart_cache_latest.php"来缓存。

此致敬意。

$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';        
}