zoukankan      html  css  js  c++  java
  • PHP静态化技术

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

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

    一. 纯静态

    纯静态展示的是实实在在的静态页面
    运行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看起来好看 实际上对程序并没有优化效果

  • 相关阅读:
    查看hbase中的中文
    查看hbase中的中文
    scala使用hbase新api
    scala使用hbase新api
    IDEA15使用maven编译scala和java
    IDEA15使用maven编译scala和java
    IDEA非sbt下spark开发
    IDEA非sbt下spark开发
    sed初学者实用说明
    sed初学者实用说明
  • 原文地址:https://www.cnblogs.com/fengyumeng/p/7806785.html
Copyright © 2011-2022 走看看