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

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

CrazyPanda发表于:2024-06-18 11:13:26浏览:274次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】Permission denied怎么解决
Permission denied的解决方法:1、确保当前用户具有足够的权限来执行该操作;2、如果当前用户没有足够的权限,可以尝试更改文件或目录的权限;3、如果当前用户不是管理员或没有足够的权限,可以尝试使用管理员权限来执行操作;4、可以尝试更改文件系统属性,以便允许写入操作;5、可以尝试释放磁盘空间,以便有足够的空间来执行操作;6、检查文件是否被其他进程占用。当我们遇到Permission denied这样的错误提示时,这通常意味着我们没有足够的权限来执行某个操作。解决Permiss
发表于:2023-12-06 浏览:355 TAG:
【PHP】ChatGPT PHP在网站开发中的应用与实践
ChatGPT PHP在网站开发中的应用与实践引言:随着人工智能技术的不断发展,Chatbot成为了众多网站开发者关注的一个热门话题。Chatbot可以与用户进行即时的对话,极大地提升了用户体验,并且在客服、营销、信息交互等方面发挥着重要作用。ChatGPT是一个基于开放AI GPT-3模型的Chatbot工具包,它可以帮助PHP开发者快速构建智能对话系统。本文将介绍ChatGPT PHP在网站开发中的应用与实践,并提供详细的代码示例。一、ChatGPT PHP简介ChatGPT PH
发表于:2023-12-25 浏览:327 TAG:
【PHP】微信支付v3的jsapi接口接入thinkphp6完整流程
&nbsp; &nbsp; &nbsp; &nbsp; 相信,写过微信支付接口的程序员,都会骂一句,什么垃圾文档。惠州网站建设今天给个完整的解决案例。哎,绕来绕去,把你绕坑里。我也是不知道掉了多少坑才写出这个避坑文档。目的是想让自己记住thinkphp6在接入微信支付v3时候jsapi的时候,不要在掉一次坑。因为,官网文档的说明内容真的让人无语。都严重怀疑,他不想让人成功接入他们支付一样。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下面说下我们
发表于:2023-12-01 浏览:782 TAG:
【PHP】PHP8.1新特性大讲解之纯交集类型
纯交集类型 (Pure intersection types)您已经了解PHP 8.0 中的联合类型,交集类型也是一个类似的特性。联合类型要求输入是给定类型之一,交集类型要求输入是所有指定类型。当您使用大量接口时,交集类型特别有用:function&nbsp;generateSlug(HasTitle&amp;HasId&nbsp;$post)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;strtolower($post-&gt;getTitle())&amp;
发表于:2024-01-04 浏览:280 TAG:
【PHP】PHP框架在大型电子商务和SaaS平台中的应用场景和挑战
hp框架在大型电子商务和saas平台中广泛用于构建购物车、用户管理和数据处理等功能。应用场景包括但不限于电子商务平台的购物车和支付网关构建,以及saas平台的用户管理和数据存储功能开发。然而,这些平台也面临着性能、可扩展性、安全和维护方面的挑战。PHP框架在大型电子商务和SaaS平台中的应用场景和挑战简介PHP是一种广泛使用的后端编程语言,凭借其灵活性、广泛的库支持和易于使用性,在大型电子商务和SaaS平台中备受青睐。本文将探讨这些平台中PHP框架的应用场景和面临的挑战。应用场景电子商务:构建
发表于:2024-05-30 浏览:266 TAG:
【PHP】php中设计模式有哪些
php中设计模式有单例模式、工厂模式、抽象工厂模式、观察者模式、适配器模式、策略模式、装饰器模式、迭代器模式等等。详细介绍:1、单例模式,用于确保一个类只有一个实例,并提供一个全局访问点,可以使用静态变量和静态方法来实现单例模式;2、工厂模式,用于创建对象,而不需要直接调用构造函数,可以使用工厂类来创建对象,并隐藏对象的创建逻辑;3、抽象工厂模式,用于创建一系列相关的对象等等。本教程操作系统:windows10系统、PHP8.1.3版本、Dell G3电脑。PHP是一种广泛使用的编程语
发表于:2023-12-06 浏览:314 TAG:
【PHP】ThinkPHP面试题
1、常见的PHP框架&nbsp; &nbsp; &nbsp; &nbsp;答:thinkPHP、yii、ZendFramework、CakePhp、sy&nbsp;相关专题推荐:2020年thinkphp面试题及答案(大全)&nbsp; &nbsp; &nbsp; &nbsp;2、如何理解TP中的单一入口文件?&nbsp; &nbsp; &nbsp; &nbsp;答:ThinkPHP采用单一入口模式进行项目部署和访问,无论完成什么功能,一个项目都有一个统一(但不一定是唯一)的入口。应该说,所有项
发表于:2024-05-20 浏览:254 TAG:
【PHP】php amr格式转化mp3
在音频文件处理中,有时候我们需要将AMR格式的音频文件转换成MP3格式。本文将介绍如何使用PHP语言来完成AMR格式转化MP3。一、AMR格式简介AMR全称 Adaptive Multi-Rate,是一种压缩音频格式。由于AMR格式文件体积小,网络传输速度快,因此被广泛应用于手机铃声、语音留言、移动通讯等领域。二、MP3格式简介MP3全称 MPEG Audio Layer-3,是一种常用的音频格式。由于MP3格式具有音质高、可压缩、体积小等特点,因此被广泛应用于音乐播放器、电影播放器等
发表于:2023-12-20 浏览:269 TAG:
【PHP】微信JSAPI支付V3版本
article class="baidu_pl"><div id="article_content" class="article_content clearfix"><link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css"/><link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-044f2cf1dc.css"/></div></article><!--autointro--
发表于:2023-12-01 浏览:667 TAG:
【PHP】Your requirements could not be resolved to an installable set of packages.
执行composer&nbsp;install遇到错误:Your requirements could not be resolved to an installable set of packages. 这是因为不匹配composer.json要求的版本,错误代码如下。Your&nbsp;requirements&nbsp;could&nbsp;not&nbsp;be&nbsp;resolved&nbsp;to&nbsp;an&nbsp;installable&nbsp;set&nbsp;of
发表于:2024-02-08 浏览:311 TAG: