1. 云栖社区>
  2. 技术文集>
  3. 列表>
  4. 正文

PHP生成静态页面的两种方法

作者:用户 来源:互联网 时间:2016-07-07 15:42:30

html文件页面静态程序重新生成生成PHP生成静态页php生成静态页面PHP生成静态js判断页面是否404

PHP生成静态页面的两种方法 - 摘要: 本文讲的是PHP生成静态页面的两种方法,   1. 管理后台添加记录时,直接生成目标html页面,并且前台调用连接直接指向生成的html页面。这种方法程优点是程序效率最高。    服务器负荷轻,不

  1. 管理后台添加记录时,直接生成目标html页面,并且前台调用连接直接指向生成的html页面。这种方法程优点是程序效率最高。

   服务器负荷轻,不过由于生成的是纯静态页面,一旦页面样式(模版及css=theme)上有所改动就必须重新生成所有的内容页。

   所以实际使用中应用一般不是太多。更多的是使用js,ssi,xml/xsl等客户端手段,生成的静态文件中仅保存数据,不涉及样式,

   这样能达到速度和维护性的平衡,不过相对前后台程序要复杂些(应用这种方法时,由于内容为纯静态,可以搭配单独编译的纯静态的apache使用。。效率和资源占用上比包含动态内容支持的要更佳)

   ====
   补充:

    a. 上面说的改动样式,要重新生成所有的内容页,可以通过:
    >>>>在可以在每个生成的页面内嵌入一个<script src=XXX.php?id=xxx&template=red></script>来判断是否需要重新生成该页面。

    >>>>apache 的ErrorDocument404 功能, 但是这里前台链接是指向html的,如果该html不存在, 会通过apache的文件不存在重定向到404处理程序的功能重新生成html

       (注:httpd.conf加 ErrorDocument 404 /errprocess.php 指令), 利用这个功能可以解决修改网站样式的时候,要更新所有生成的html文件的问题,

        将整个static文件夹删除即可。

    b. 通过嵌入<script></script>js来调用php的方式,更改许多需要变化的地方(如点击率之类的)

  2. 前台访问链接指向php程序,php程序首先检查是否存在相应的静态文件。如果静态文件不存在。则生成并重定向至此文件,否则直接重定向。

   这种方法实际使用中一般和apache的url_rewrite功能一起使用。将php的文件地址重显示为html的形式,有利于搜索引擎的检索。

   这种方法在效率上略有损失,不过程序结构简单,便于调整,在访问量不是很大时使用很合适。
   
 注意事项: 

   所有生成的html文件都集中放到一个文件夹, 其中还应该注意生成文件如果很多的话(如论坛),访问其中一个htm文件,将会变得很慢,

   那么最好通过

   >>>>按日期来分隔文件夹,如static/2004/11/18/0001.htm
   >>>>对帖子id根据数据库中字段长度做str_pad:比方说id为123456,数据库中为int(11),则id处理为00000123456,考虑到linux下一般同一下文件到达四位数会有性能影响,对其做切割,最后路径为static/00/000/123/456.html



以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有 的相关内容,欢迎继续使用右上角搜索按钮进行搜索html , 文件 , 页面 , 静态 , 程序 , 重新生成 , 生成 , PHP生成静态页 , php生成静态页面 , PHP生成静态 js判断页面是否404 phpcms生成静态页面、php生成静态页面、php生成静态页面实例、php生成静态html页面、php如何生成静态页面,以便于您获取更多的相关知识。

string-java中String类两种初始化的区别

...区别 解决方案五: string str="abc"表示在字符串池中生成一个"abc",当如果再执行string s="abc"时,这个时候其实str和s都指向同一个"abc",当使用 new 关键字的时候都会在内存中生成两个不一样就是地址不一样的串 解决方案六...

PHP生成静态页面的两种方法

1. 治理后台添加记录时,直接生成目标html页面,并且前台调用连接直接指向生成的html页面。这种方法程优点是程序效率最高。 服务器负荷轻,不过由于生成的是纯静态页面,一旦页面样式(模版及css=theme)上有所改动就必须重新...

PHP生成静态页面的两种实现方法

1. 管理后台添加记录时,直接生成目标html页面,并且前台调用连接直接指向生成的html页面。这种方法程优点是程序效率最高。   服务器负荷轻,不过由于生成的是纯静态页面,一旦页面样式(模版及css=theme)上有所改动就必...

ECSHOP完全静态化解决方法

...规则判断静态页面是否存在,如果不存在,则访问php,并生成相应的html页面;如果存在,则直接访问静态页面。 2、如果php文件或者页面内容作了修改,则只需要删除静态页面即可,在用户下次访问时,即可自动重新生成静态页...

解决Jquery load()加载GB2312页面时出现乱码的两种方案

问题描述:jquery的字符集是utf-8,load方法加载完GB2312编码静态页面后,出现中文乱码。 a.php $(function(){ $("#zz").click(function(){ $("#job").load("b.php"); }) }) 点击加载b页面 b.php 解决方案: 方法一:将两个页面的编码格式转换成utf8 ...

前三篇
后三篇