您的当前位置:首页>全部文章>文章详情

【PHP】PHP实现页面静态化的集中方法

CrazyPanda发表于:2024-06-18 11:13:26浏览:282次TAG:

这篇文章主要介绍了php 实现页面静态化的几种方法,需要的朋友可以参考下

1、通过buffer来实现

需要用file_put_contents ob_get_clean()等内置函数


ob_start ();
include "filterpost.html";
$mtime = filemtime("./filterpost.html");
//在这里可以判断文件是否存在和过期,然后做缓存或者生成静态文件操作
$pageCache = str_replace('submit2','login',ob_get_contents());
//将缓存去中的内容替换
ob_end_clean();
echo $mtime;
echo $pageCache;

2、通过$_SERVER['PATH_INFO']来实现


echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($_SERVER);
preg_match(&#39;/^\/(\d+)\/(\d+)\.html/&#39;,$_SERVER[&#39;PATH_INFO&#39;],$arr);
print_r($arr);

3、通过Apache配置来实现

需要开启rewrite重写模块
通过rewrite来配置vhost

RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteRule ^/detail/([0-9]*).html$ /detail.php?id=$1

如果服务器下不存在文件夹及其文件,那么就重写定义到/detail.php
http://localhost/detail/1.html
如果没有detail文件夹下的1.html 那么就重写定义到./detail.php

4、通过Nginx配置来实现

在nginx.conf中配置


rewrite ^/detail/(\d+)\.html$ /detail.php?id=$1 last;

当然建议大家参考一些比较成熟的cms的方法,对于页面数量不大的话,第一种方法还是不错的。

猜你喜欢

【PHP】关于bug率计算和它的实际意义
问题1:bug率有什么作用?my opion:用处有很多,需要具体情况具体分析,不过主要作用一般是来评价工作产品的质量。如果bug率较高,说明系统质量较差,需要大量的返工。项目经理就需要做好缺陷分析(缺陷的类型、分布、严重程度等),找出原因,以便做好下一阶段的缺陷预防工作。除此之外,还可以结合其它方面的信息,判断是否一些工作不充分。譬如,如果缺陷密度过低,有两个原因:可能工作产品质量确实高;也可能评审或测试不充分,更多的缺陷没有发现。在某些公司,bug率也作为项目度量考核的一项指标。问题2:bu
发表于:2024-06-22 浏览:260 TAG:
【PHP】中文日文字符串校验解决方案
由于开发需要,要识别中文和日文文字段落,网上查了很多资料,大部分都是使用正则校验preg_match,但中文和日文有些汉字是相同的,不能直接校验出结果,经过多次修改,也算是找出了解决办法。首先找到中文和日文的正则校验中文校验:preg_match(&#39;/\p{Han}+/u&#39;,&#39;&#39;,$str);日文校验:preg_match(&#39;/[\x{4E00}-\x{9FBF}\x{3040}-\x{309F}\x{30A0}-\x{30FF}]/u&#39;,&amp;nbs
发表于:2023-12-14 浏览:392 TAG:
【PHP】php逻辑测试,测试也要设计—phpunit实践
概述本文阐述如何利用面向对象的思想,在phpunit框架下实现测试用例、数据文件、配置信息和lib库等信息分离,并能有效组合。也许有些QA认为,测试代码只要能满足测试要求即可,根本不需要有什么设计的理念。其实不然,好的测试代码,应该是可读性强,可扩展性强。以下分享一个我在实际项目中的小想法来阐述这个观点,仅作抛砖引玉之用。具体实现在autoFunc测试目录下,创建conf、data、lib三个目录,分别用于保存配置信息、数据文件和lib库,测试用例直接放在autoFunc下。A 方案直接在tes
发表于:2024-06-22 浏览:266 TAG: #php #测试
【PHP】php会出现哪些漏洞呢
会出现的漏洞有跨站脚本攻击、sql注入、文件包含漏洞、代码注入漏洞、文件上传漏洞、会话劫持、不安全的文件权限等等。详细介绍:1、跨站脚本攻击,xss漏洞通常是由于未正确过滤用户输入导致的,为了防止xss漏洞,开发人员应该对用户输入进行严格的过滤和转义,确保用户输入不会被当作脚本执行;2、sql注入,通常是由于未正确过滤用户输入或者使用不安全的sql查询语句导致的等等。本教程操作系统:windows10系统、PHP8.1.3版本、Dell G3电脑。PHP作为一种广泛使用的服务器端脚本语言,被广泛
发表于:2024-03-17 浏览:338 TAG:
【PHP】php代码规范七大原则
hp代码规范七大原则包括一致性、可读性、简洁性、可复用性、可测试性、安全性和性能。详细介绍:1、一致性,代码应该保持一致性,即在整个代码库中使用相同的命名规范、缩进风格、代码注释等,这样可以使团队成员更容易理解和阅读代码,减少出错和混淆的可能性;2、可读性,代码应该易于阅读和理解,为了提高可读性,可以使用有意义的变量和函数命名,避免使用过于复杂的表达式和嵌套结构等等。本教程操作系统:windows10系统、PHP 8.1.3版本、DELL G3电脑。在PHP开发中,遵循良好的代码规范是非常重要
发表于:2024-03-17 浏览:307 TAG:
【PHP】9个适用于PHP的最佳自动化测试框架
您是否花了很长时间调试您PHP代码? 好吧,对于大多数程序员来说,这可能不是最迷人的挑战,但是有一种解决方案可以帮助我们缩短这项繁琐的任务。 自动化测试通过允许预先编写的测试来驱动开发过程,可以显着改善PHP开发的工作流程 。在这篇文章中,我们将尝试了解为什么自动化测试如此酷 ,它如何工作以及您可以从中开始的最佳测试框架是什么。为什么测试很重要新手PHP开发人员倾向于不为他们的代码编写测试。 我们大多数人的职业生涯都是通过逐一测试刚在浏览器窗口中编写的新特性和功能开始的,当出现问题时,我们一无所
发表于:2024-06-22 浏览:276 TAG: #测试
【PHP】thinkphp合理使用数据备份与恢复功能
ThinkPHP是一款开源的PHP开发框架,具有代码简洁、易于扩展等优点,被众多开发者广泛使用。在开发过程中,数据备份与恢复是一项十分重要的工作。本文将从几个方面介绍在使用ThinkPHP开发时合理使用数据备份与恢复功能的注意事项。首先,建议在开发过程中定期进行数据备份。数据备份可以防止数据丢失或损坏造成的不可恢复性。在ThinkPHP中,可以使用数据库备份与恢复的命令行工具来进行备份,具体操作如下:打开命令行终端,进入到ThinkPHP项目根目录下的thinkphp目录;输入ph
发表于:2023-12-08 浏览:362 TAG:
【PHP】php将字符串拆分成数组有哪些方法
方法有:1、explode()函数,可以将字符串按指定的分隔符拆分成数组;2、str_split()函数,可以将字符串拆分成单个字符的数组;3、preg_split()函数,可以根据正则表达式将字符串拆分成数组;4、sscanf()函数,可以根据指定的格式解析字符串,并将解析结果存入数组中;5、字符串截取方法,通过使用字符串截取函数,可以将字符串按指定长度拆分成数组等。本教程操作系统:Windows10系统、PHP8.1.3版本、Dell G3电脑。在PHP中,将字符串拆分成数组有多种
发表于:2023-12-04 浏览:647 TAG:
【PHP】PHP8.1新特性大讲解之Fibers with a grain of salt
Fibers with a grain of salt所以我打算写一篇关于在PHP 8.1 中使用Fibers纤维的深入博客文章。我们将从一个基本示例开始,从头开始解释它们。这个想法是发送异步 HTTP 请求并使用纤程并行处理它们。但是和他们一起玩,我了解到RFC并不是在开玩笑,当它说“不应直接在应用程序级代码中使用 Fiber API。Fibers 提供了一个基本的、低级的流控制 API 来创建更高然后在应用程序代码中使用的级抽象”。因此,与其走这条路并使事情变得过于复杂,我们将讨论什么是纤程
发表于:2024-01-04 浏览:301 TAG:
【PHP】php 实现SHA256WithRSA
SHA256WithRSA 是一种常用的数字签名算法,可以通过 PHP 的 OpenSSL 扩展来实现。以下是一个简单的示例代码://&nbsp;加载私钥文件 $private_key&nbsp;=&nbsp;openssl_pkey_get_private(file_get_contents(&#39;private.key&#39;)); //&nbsp;加载公钥文件 $public_key&nbsp;=&nbsp;openssl_pkey_get_public(file_get_cont
发表于:2024-01-31 浏览:463 TAG: