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 相关文章推荐
在Zeus Web Server中安装PHP语言支持
Oct 09 PHP
Snoopy类使用小例子
Apr 15 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
Oct 25 PHP
PHP禁止个别IP访问网站
Oct 30 PHP
php不写闭合标签的好处
Mar 04 PHP
php通过array_shift()函数移除数组第一个元素的方法
Mar 18 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
Mar 18 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
Oct 11 PHP
PHP面相对象中的重载与重写
Feb 13 PHP
PHP获取文件扩展名的方法实例总结
Jun 10 PHP
PHP处理bmp格式图片的方法分析
Jul 04 PHP
php简单实现单态设计模式的方法分析
Jul 28 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
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
PHPExcel在linux环境下导出报500错误的解决方法
2017/01/26 PHP
PHP面向对象多态性实现方法简单示例
2017/09/27 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
php异常处理捕获错误整理
2019/09/23 PHP
javascript 一段左右两边随屏滚动的代码
2009/06/18 Javascript
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
编程语言JavaScript简介
2014/10/16 Javascript
javascript元素动态创建实现方法
2015/05/13 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
JavaScript中对象的不同创建方法
2016/08/12 Javascript
什么是JavaScript注入攻击?
2016/09/14 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
如何在vue里添加好看的lottie动画
2018/08/02 Javascript
mpvue写一个CPASS小程序的示例
2018/09/04 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
webpack4之如何编写loader的方法步骤
2019/06/06 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
[07:12]2014DOTA2西雅图国际邀请赛 黑马Liquid专题采访
2014/07/12 DOTA
全面理解Python中self的用法
2016/06/04 Python
Python内置函数 next的具体使用方法
2017/11/24 Python
python logging日志模块以及多进程日志详解
2018/04/18 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
Python爬虫PyQuery库基本用法入门教程
2018/08/04 Python
python pandas读取csv后,获取列标签的方法
2018/11/12 Python
python读取文件名并改名字的实例
2019/01/07 Python
Django web框架使用url path name详解
2019/04/29 Python
使用HTML5进行SVG矢量图形绘制的入门教程
2016/02/19 HTML / CSS
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
安全教育心得体会
2013/12/29 职场文书
护理专业自荐信范文
2014/02/26 职场文书
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
世界水日宣传活动总结
2015/02/09 职场文书
质量保证书格式
2015/02/27 职场文书