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之第一天
Oct 09 PHP
推荐个功能齐全的发送PHP邮件类
Jan 03 PHP
PHP中文汉字验证码
Apr 08 PHP
解决File size limit exceeded 错误的方法
Jun 14 PHP
自己写了一个php检测文件编码的函数
Apr 21 PHP
thinkphp四种url访问方式详解
Nov 28 PHP
php实现excel中rank函数功能的方法
Jan 20 PHP
php函数重载的替代方法--伪重载详解
May 08 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
CodeIgniter针对数据库的连接、配置及使用方法
Mar 03 PHP
WHOOPS PHP调试库的使用
Sep 29 PHP
php+ajax 文件上传代码实例
Mar 18 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开发入门教程之面向对象
2006/12/05 PHP
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/21 PHP
PHP 中使用explode()函数切割字符串为数组的示例
2017/05/06 PHP
PHP实现的抓取小说网站内容功能示例
2019/06/27 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
PHP使用PDO 连接与连接管理操作实例分析
2020/04/21 PHP
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
javascript函数中的arguments参数
2010/08/01 Javascript
jquery 实现密码框的显示与隐藏示例代码
2013/09/18 Javascript
js取模(求余数)隔行变色
2014/05/15 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
javascript实现根据时间段显示问候语的方法
2015/06/18 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
前端常见跨域解决方案(全)
2017/09/19 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
jQuery解析json格式数据示例
2018/09/01 jQuery
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
Python入门篇之正则表达式
2014/10/20 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
个人自我鉴定范文
2013/10/04 职场文书
单位成立周年感言
2014/01/26 职场文书
中学生自我评价范文
2014/02/08 职场文书
运动会入场口号
2014/06/07 职场文书
医德医魂心得体会
2014/09/11 职场文书
政协会议宣传标语
2014/10/09 职场文书
2014年个人业务工作总结
2014/11/17 职场文书