码迷,mamicode.com
首页 > Web开发 > 详细

PHP静态化技术

时间:2017-11-08 23:27:41      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:write   access   apach   网站   文件路径   文件中   路径   start   静态化   

 

很多框架的模板引擎都有页面静态化的功能  目的是为了优化网站运行时间

 

静态化分两种  纯静态和伪静态

 

一. 纯静态

纯静态展示的是实实在在的静态页面
运行PHP程序 判断是否存在静态页 如果存在 展示静态页 如果不存在 生成静态页 再展示
实现方法 是PHP的ob缓冲

    //PHP程序一系列逻辑 并将要展示的数据赋值给某些变量准备在模板中使用
    ob_start();//开启ob缓冲区 也可以在配置文件中开启 
    require_once(‘template/index.php‘);//引入模板文件 也有可能是html文件 此时模板中的变量已全部解析替换
    $s = ob_get_contents(); //将缓冲区的内容取出
    file_put_contents(‘./index.html‘, $s);//将缓冲区的内容写入一个静态文件 一般的做法是将文件路径加密之后作为文件名

 

二.伪静态

伪静态就是在url上看起来是静态 实际上它走的还是动态流程
http://www.baidu.com/home/1.html
实现方法有两种
1.是项目路由解析把后缀拎出来
  $_SERVER变量里可以抓出url上面的所有节点 拆分成自己想要的即可 该替换的替换 该组合的组合
2.是Apache重写功能rewrite
  开启Apache重写功能 在项目目录中创建.htaccess文件写入规则
比如写入如下内容

    RewriteEngine on  
    RewriteRule ^localhost/([a-zA-Z]{1,})/([0-9]{1,})\.html$ localhost/$1.php?id=$2

如浏览器访问localhost/home/1.html 实际上被apache重写为localhost/home.php?id=1
重写规则的细节规则有点多,有兴趣的朋友可以去研究。

 

静态化技术也就这两种 伪静态只是url看起来好看 实际上对程序并没有优化效果

 

PHP静态化技术

标签:write   access   apach   网站   文件路径   文件中   路径   start   静态化   

原文地址:http://www.cnblogs.com/fengyumeng/p/7806785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!