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中include()与require()的区别说明
Mar 10 PHP
php在线代理转向代码
May 05 PHP
PHP cURL初始化和执行方法入门级代码
May 28 PHP
php实现简易聊天室应用代码
Sep 23 PHP
Thinkphp微信公众号支付接口
Aug 04 PHP
php添加数据到xml文件的简单例子
Sep 08 PHP
php opendir()列出目录下所有文件的实例代码
Oct 02 PHP
php版微信数据统计接口用法示例
Oct 12 PHP
php正则表达式基本知识与应用详解【经典教程】
Apr 17 PHP
PHP ADODB实现事务处理功能示例
May 25 PHP
PHP 代码简洁之道(小结)
Oct 16 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异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
在laravel中实现ORM模型使用第二个数据库设置
2019/10/24 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
juqery 学习之六 CSS--css、位置、宽高
2011/02/11 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
2014/09/23 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
js实现左侧网页tab滑动门效果代码
2015/09/06 Javascript
详解JavaScript基本类型和引用类型
2015/12/09 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
vue双向绑定的简单实现
2016/12/22 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
Python正则表达式分组概念与用法详解
2017/06/24 Python
python实现搜索文本文件内容脚本
2018/06/22 Python
numpy基础教程之np.linalg
2019/02/12 Python
jupyter notebook 添加kernel permission denied的操作
2020/04/21 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
英国最大的美妆产品在线零售商之一:Beauty Bay
2017/09/29 全球购物
甜美蛋糕店创业计划书
2014/01/30 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
致运动员赞词
2015/07/22 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
2016保送生自荐信范文
2016/01/29 职场文书
python实现简单的名片管理系统
2021/04/26 Python
Pandas 数据编码的十种方法
2022/04/20 Python