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 相关文章推荐
oracle资料库函式库
Oct 09 PHP
php入门教程 精简版
Dec 13 PHP
ajax+php打造进度条 readyState各状态
Mar 20 PHP
ezSQL PHP数据库操作类库
May 16 PHP
php若干单维数组遍历方法的比较
Sep 20 PHP
VB中的RasEnumConnections函数返回632错误解决方法
Jul 29 PHP
php实现的递归提成方案实例
Nov 14 PHP
php preg_match的匹配不同国家语言实例
Dec 29 PHP
PHP常用的三种设计模式
Feb 17 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
利用PHP计算有多少小于当前数字的数字方法示例
Aug 26 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/06 PHP
php+mysql分页代码详解
2008/03/27 PHP
PHP中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
两种设置php载入页面时编码的方法
2014/07/29 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
2016/04/11 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
PHP使用Redis实现防止大并发下二次写入的方法
2017/10/09 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
2018/10/12 PHP
jQuery使用手册之三 CSS操作
2007/03/24 Javascript
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
Jquery替换已存在于element上的event的方法
2010/03/09 Javascript
js实现右下角可关闭最小化div(可用于展示推荐内容)
2013/06/24 Javascript
js保留小数点后几位的写法
2014/01/03 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
Angular2安装angular-cli
2017/05/21 Javascript
VUEX 数据持久化,刷新后重新获取的例子
2019/11/12 Javascript
package.json各个属性说明详解
2020/03/11 Javascript
js实现飞机大战游戏
2020/08/26 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
Python实现获取命令行输出结果的方法
2017/06/10 Python
Python利用itchat对微信中好友数据实现简单分析的方法
2017/11/21 Python
python实现随机梯度下降(SGD)
2020/03/24 Python
python中pika模块问题的深入探究
2018/10/13 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
Django密码存储策略分析
2020/01/09 Python
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
英国复古服装购物网站:Collectif
2019/10/30 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
大学军训通讯稿
2014/01/13 职场文书
作文批改评语
2014/12/25 职场文书
会计岗位工作总结
2015/08/12 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python