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中的实现trim函数代码
Mar 19 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
May 31 PHP
PHP和.net中des加解密的实现方法
Feb 27 PHP
3种php生成唯一id的方法
Nov 23 PHP
php生成图片验证码的方法
Apr 15 PHP
mysql_escape_string()函数用法分析
Apr 25 PHP
PHP在线调试执行的实现方法(附demo源码)
Apr 28 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
Laravel 5.4.36中session没有保存成功问题的解决
Feb 19 PHP
php多进程模拟并发事务产生的问题小结
Dec 07 PHP
PHP中引用类型和值类型功能与用法示例
Feb 26 PHP
浅谈laravel中的关联查询with的问题
Oct 10 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中的函数嵌套层数限制分析
2011/06/13 PHP
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
2012/06/13 PHP
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
浅谈php和js中json的编码和解码
2016/10/24 PHP
微信自定义分享php代码分析
2016/11/24 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
PHP学习记录之数组函数
2018/06/01 PHP
js滚动条多种样式,推荐
2007/02/05 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
js 去除字符串第一位逗号的方法
2014/06/07 Javascript
Javascript中的方法链(Method Chaining)介绍
2015/03/15 Javascript
javascript常用的方法分享
2015/07/01 Javascript
Javascript中字符串相关常用的使用方法总结
2017/03/13 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
利用Node.js了解与测量HTTP所花费的时间详解
2017/09/22 Javascript
Vue.js组件通信的几种姿势
2017/10/23 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
webpack 从指定入口文件中提取公共文件的方法
2018/11/13 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
Django unittest 设置跳过某些case的方法
2018/12/26 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
pandas参数设置的实用小技巧
2020/08/23 Python
Python基于execjs运行js过程解析
2020/11/27 Python
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
中专毕业生自我鉴定
2013/11/21 职场文书
电子专业自荐信
2014/07/01 职场文书
实用干货:敬酒词大全,帮你应付各种场合
2019/11/21 职场文书
WebWorker 封装 JavaScript 沙箱详情
2021/11/02 Javascript
JavaScript前端面试扁平数据转tree与tree数据扁平化
2022/06/14 Javascript