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看起来好看 实际上对程序并没有优化效果

时间: 2024-11-05 21:37:02

PHP静态化技术的相关文章

网站优化—页面静态化技术

数据库检索的问题 主要是为了减少数据库的操作,让MySQL能够提供更强大的服务 ? 使用缓存技术 磁盘缓存:就是将用户请求数据库的数据,保存到磁盘文件形成一个静态的HTML文本,下次用户的访问的时候,直接返回该HTML文本. 内存缓存:将MySQL的数据取出之后,保存到内存(memcache,不算一个NOSQL数据库,但是是一个缓存系统)之中,下次直接从内存中返回.(效率非常高) 注意:只要不使用sql语句作为查询条件的数据库(仓库)就叫做NOSQL数据库 优化MySQL 设计:存储引擎的选择,

php页面静态化技术;学习笔记

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

HTML静态化技术

[优势:HTML静态化技术可以以增加访问速度,减轻服务器负担,更容易被搜索引擎找到.] 在五年前,有百分之八十的网站要求做成动态的.也就是从那个时候也就是ASP的发展高峰期.一些静态网页也要求做成动态网站.但是这两年来,网站要求做成静态的.也就是网页要求静态化. 为什么会有这样的变化?到底意味着什么? 目前网页HTML静态化是利用其它的动态技术生成HTML静态页面,还不是静态网站.因为的确是这样的,生成HTML静态网页好处多多. 一.减轻服务器负担. 二.有利于搜索引擎优化SEO,Baidu.G

php模版静态化技术

PHP页面的静态化很有必要,尤其是在CMS系统中,一些内容一旦生成,基本上不会有变化,这时如果用html将页面静态化,无疑会减少服务其解析PHP页面的负担.以下是看书学来的PHP静态化技术,记录之以备不时之需. 无论是利用框架还是简单的脚本,原理基本一致:就是利用PHP进行文件操作,替换html模板中的动态元素. 简单的例子: 1.建立模板(template.html) <html>   <head>      <title>一篇文章</title>   &

网页静态化技术Freemarker的详细介绍

网页静态化技术Freemarker 一.Freemarker的基本介绍 1.1为什么要使用网页静态化技术 网页静态化解决方案在实际开发中运用比较多,例如新闻网站,门户网站中的新闻频道或者是文章类的频道. 对于电商网站的商品详细页来说,至少几百万个商品,每个商品又有大量的信息,这样的情况同样也适用于使用网页静态化来解决. 网页静态化技术和缓存技术的共同点都是为了减轻数据库的访问压力,但是具体的应用场景不同,缓存比较适合小规模的数据,而网页静态化比较适合大规模且相对变化不太频繁的数据.另外网页静态化

网页静态化技术--Freemarker入门

网页静态化技术:为什么要使用网页静态化技术 网页静态化解决方案在实际开发中运用比较多,例如新闻网站,门户网站中的新闻频道或者是文章类的频道. 对于电商网站的商品详细页来说,至少几百万个商品,每个商品又有大量的信息,这样的情况同样也适用于使用网页静态化来解决. 网页静态化技术和缓存技术的共同点都是为了减轻数据库的访问压力,但是具体的应用场景不同,缓存比较适合小规模的数据,而网页静态化比较适合较大规模且相对变化不太频繁的数据. 另外我们如果将网页以纯静态化的形式展现,就可以使用Nginx这样的高性能

[项目构建 九]babasport 页面静态化技术Freemarker技术的介绍及使用实例.

一.FreeMarker简介 1.动态网页和静态网页差异 在进入主题之前我先介绍一下什么是动态网页,动态网页是指跟静态网页相对应的一种网页编程技术.静态网页,随着HTML代码的生成,页面的内容和显示效 果就不会再发生变化(除非你修改页面代码).而动态网页则不然,页面代码虽然没有发生变化,但是显示的内容却是可以随着时间.环境或者数据库操作的结果而 发生相应的变化.简而言之,动态网页是基本的HTML语法规范与java.VB.VC等高级程序设计语言.数据库编程等多种技术的融合,以实现对网站内容 和风格

大数据学习总结记录—页面静态化技术(Freemarker/velocity)&amp; 网站伪静态(UrlRewriteFilter)

Freemaker  静态化模板技术 模板的作用 模板技术在现代的软件开发中有着重要的地位,而目前最流行的两种模板技术恐怕要算freemarker和velocity了,webwork2.2对两者都有不错的支持,也就是说在webwork2中你可以随意选择使用freemarker或velocity作为view,模板技术作为view的好处是很多,尤其和jsp比较起来优点更大,众所周知jsp需要在第一次被执行的时候编译成servlet,那么这个过程是很慢的,当然很多应用服务器都提供预编译的功能,但是在开

高性能Java Web 页面静态化技术

package com.yancms.util; import java.io.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; import org.apache.commons.httpclient.params.HttpMethodParams; /** * 静态页面引擎技术(突乱了乱码问题UTF-8) * @author 吴彦文 * */ public cl