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 地址栏信息的获取代码
Jan 07 PHP
MayFish PHP的MVC架构的开发框架
Aug 13 PHP
Windows 下的 PHP-PEAR 安装方法
Nov 20 PHP
php购物网站支付paypal使用方法
Nov 28 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
PHP中函数rand和mt_rand的区别比较
Dec 26 PHP
PHP图片处理之图片旋转和图片翻转实例
Nov 19 PHP
PHP生成不重复标识符的方法
Nov 21 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
Nov 30 PHP
PHP实现获取并生成数据库字典的方法
May 04 PHP
PHP chunk_split()函数讲解
Feb 12 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
Mar 09 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
PHP中10个不常见却非常有用的函数
2010/03/21 PHP
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
2014/04/29 PHP
php代码审计比较有意思的例子
2014/05/07 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
php foreach正序倒序输出示例代码
2014/07/01 PHP
在Debian系统下配置LNMP的教程
2015/07/09 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
2018/05/28 PHP
ModelDialog JavaScript模态对话框类代码
2011/04/17 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
jquery插件如何使用 jQuery操作Cookie插件使用介绍
2012/12/15 Javascript
Javascript脚本实现静态网页加密实例代码
2013/11/05 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
2015/02/15 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
2016/06/13 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
2016/10/10 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
CKEditor4配置与开发详细中文说明文档
2018/10/08 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
webpack 代码分离优化快速指北
2019/05/18 Javascript
javascript导出csv文件(excel)的方法示例
2019/08/25 Javascript
Javascript地址引用代码实例解析
2020/02/25 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
Python实现多线程抓取妹子图
2015/08/08 Python
使用python3.5仿微软记事本notepad
2016/06/15 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
人力资源部经理岗位职责规定
2014/02/23 职场文书
人力资源管理专业自荐书
2014/07/07 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
社区综治工作汇报
2014/10/27 职场文书
2019各种承诺书范文
2019/06/24 职场文书
详细聊聊vue中组件的props属性
2021/11/02 Vue.js
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis