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 相关文章推荐
将RTF格式的文件转成HTML并在网页中显示的代码
Oct 09 PHP
网页游戏开发入门教程二(游戏模式+系统)
Nov 02 PHP
php文章内容分页并生成相应的htm静态页面代码
Jun 07 PHP
php防盗链的常用方法小结
Jul 02 PHP
解析ajax事件的调用顺序
Jun 17 PHP
php数组去重复数据示例
Feb 25 PHP
php不使用插件导出excel的简单方法
Mar 04 PHP
PHP @ at 记号的作用示例介绍
Oct 10 PHP
PHP代码实现表单数据验证类
Jul 28 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
Aug 18 PHP
在Laravel 的 Blade 模版中实现定义变量
Oct 14 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 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
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
模仿OSO的论坛(四)
2006/10/09 PHP
初学CAKEPHP 基础教程
2009/11/02 PHP
Codeigniter实现智能裁剪图片的方法
2014/06/12 PHP
使用图灵api创建微信聊天机器人
2015/07/23 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
给moz-firefox下添加IE方法和属性
2007/04/10 Javascript
js对象数组按属性快速排序
2011/01/31 Javascript
JavaScript中的关键字&quot;VAR&quot;使用详解 分享
2013/07/31 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
深入理解Vue 的条件渲染和列表渲染
2017/09/01 Javascript
利用HBuilder打包前端开发webapp为apk的方法
2017/11/13 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
vue实现codemirror代码编辑器中的SQL代码格式化功能
2019/08/27 Javascript
Python代理抓取并验证使用多线程实现
2013/05/03 Python
python迭代器的使用方法实例
2013/11/21 Python
Python greenlet实现原理和使用示例
2014/09/24 Python
Python获取文件ssdeep值的方法
2014/10/05 Python
Python下载网络小说实例代码
2018/02/03 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
django认证系统 Authentication使用详解
2019/07/22 Python
Python爬虫实例——爬取美团美食数据
2020/07/15 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
个人自我评价分享
2013/12/20 职场文书
入股协议书范本
2014/11/01 职场文书
北京爱情故事观后感
2015/06/12 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
MySQL 全文索引使用指南
2021/05/25 MySQL
vue实现锚点定位功能
2021/06/29 Vue.js
24年收藏2000多部退役军用电台
2022/02/18 无线电