PHP 实现页面静态化的几种方法


Posted in PHP onJuly 23, 2017

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 '<pre>';
print_r($_SERVER);
preg_match('/^\/(\d+)\/(\d+)\.html/',$_SERVER['PATH_INFO'],$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 相关文章推荐
聊天室php&amp;mysql(二)
Oct 09 PHP
php ci框架验证码实例分析
Jun 26 PHP
php中利用str_pad函数生成数字递增形式的产品编号
Sep 30 PHP
php 邮件发送问题解决
Mar 22 PHP
ThinkPHP3.1新特性之Action参数绑定
Jun 19 PHP
php中实现记住密码下次自动登录的例子
Nov 06 PHP
一个经典实用的PHP图像处理类分享
Nov 18 PHP
smarty内置函数section的用法
Jan 22 PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 PHP
php ajax实现文件上传进度条
Mar 29 PHP
yii2 上传图片的示例代码
Nov 02 PHP
PHP实现抽奖功能实例代码
Jun 30 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 #PHP
php魔法函数与魔法常量使用介绍
Jul 23 #PHP
php curl上传、下载、https登陆实现代码
Jul 23 #PHP
php类自动装载、链式操作、魔术方法实现代码
Jul 23 #PHP
laravel自定义分页效果
Jul 23 #PHP
PHP批量删除jQuery操作
Jul 23 #PHP
PHP mysqli事务操作常用方法分析
Jul 22 #PHP
You might like
【星际争霸1】人族1v7家ZBath
2020/03/04 星际争霸
PHP基础之运算符的使用方法
2013/04/28 PHP
PHP的Socket网络编程入门指引
2015/08/11 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
2018/12/21 PHP
收集的10个免费的jQuery相册
2011/02/26 Javascript
jQuery1.5.1 animate方法源码阅读
2011/04/05 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
angular写一个列表的选择全选交互组件的示例
2018/01/22 Javascript
JavaScript实现区块链
2018/03/14 Javascript
ES6中Promise的使用方法实例总结
2020/02/18 Javascript
Python中正则表达式的用法实例汇总
2014/08/18 Python
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
Python实现读取及写入csv文件的方法示例
2018/01/12 Python
python如何对实例属性进行类型检查
2018/03/20 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
django Serializer序列化使用方法详解
2018/10/16 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
Win10+GPU版Pytorch1.1安装的安装步骤
2019/09/27 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
在python中求分布函数相关的包实例
2020/04/15 Python
基于python模拟TCP3次握手连接及发送数据
2020/11/06 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
师范应届毕业生自荐信
2013/11/18 职场文书
个人简历自荐信
2013/12/05 职场文书
网页美工求职信范文
2014/04/17 职场文书
岗位明星事迹材料
2014/05/18 职场文书
出纳试用期自我鉴定范文
2014/09/16 职场文书
2015年质量管理工作总结范文
2015/05/18 职场文书
公司董事任命书
2015/09/21 职场文书
电工实训心得体会
2016/01/14 职场文书
2019年手机市场的调研报告2篇
2019/10/10 职场文书
Python机器学习之决策树和随机森林
2021/07/15 Javascript