>백엔드 개발 >PHP 튜토리얼 >PHP生成静态页面的两种方法_PHP教程

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

WBOY
WBOY원래의
2016-07-13 10:58:501047검색

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

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

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

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

====
补充:

a. 上面说的改动样式,要重新生成所有的内容页,可以通过:
>>>>在可以在每个生成的页面内嵌入一个来判定是否需要重新生成该页面。

>>>>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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631978.htmlTechArticle1. 治理后台添加记录时,直接生成目标html页面,并且前台调用连接直接指向生成的html页面。这种方法程优点是程序效率最高。 服务器负荷...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.