学习PHP静态化笔记

在慕课网上看了一个关于PHP实现页面静态化的课程,http://www.imooc.com/learn/330,写点笔记记录一下。


1、动态页面是php,jsp,asp页面,静态页面是html,htm,shtml页面。


2、动态页面地址和静态页面地址的区别。


3、PHP静态化分类:(1)纯静态--------局部纯静态(通过ajax和js实现)、全部纯静态

                                    (2)伪静态:将动态页面的地址转化为静态页面的地址,通过配置服务器实现


4、纯静态原理:(1)将内容直接写入html文件,使用file_put_contents()函数

                            (2)将缓冲区的内容写入html文件

                                      a. 打开缓冲区(在PHP配置文件中开启,或在脚本中使用ob_start()函数)

                                      b. 在脚本文件中输出内容,使用ob_get_contents()函数获取内容,写入html文件,最后清空缓冲区(脚本文件中输出的内容将不会输出,而是写入文件                                                了)


5、纯静态化的实现:

   (1)从数据库或缓存中读取数据,组装为需要使用的形式

    (2)在模板文件中使用组装好的数据

    (3)打开缓冲区,引入模板文件(在引入模板文件时,模板文件的内容将会进入缓冲区,此时的内容包含了数据和模板文件)

    (4)将缓冲区的内容写入静态文件


6、出发系统生成纯静态化页面的方案:

     (1) 在php文件中设置静态文件的有效时间,当时间超出时,重新生成静态化文件

     (2) 在页面上添加按钮,手动触发生成静态化文件

     (3) Linux系统的crontab命令,定时触发php文件,生成静态化文件


7、伪静态(实际访问的仍然是动态文件)方案:

(1)PHP处理伪静态

         a. 使用正则表达式匹配,当$_SERVER['pathInfo']符合特定的格式时,取出参数

         b. 使用参数获取数据,返回到页面

  (2)配置WEB服务器rewrite实现

         a. Apache服务器配置

            在vhost中设置RewriteRule,将特定的格式转成动态页面的格式,访问动态文件

            也可以开启在访问某文件或某路径时,如果文件不存在,才重写URL。或者无论是否存在,都重写URL。

         b. Nginx服务器配置

猜你喜欢

转载自blog.csdn.net/llllllloooooo/article/details/78158484