先大概说一下我的想法吧!
将动态页面通过file_get_contents和file_put_contents两个函数存储在服务器中,生成之后用户将直接访问之这个文件。如果文件不存在则访问原路径生成静态文件,再跳转到静态页面。
我将我的步骤写在下面,大家有什么好的想法可以在文章下面留言。
1.第一步就是生成静态文件了
tp自带了一个生成静态页面的函数buildHtml参数1:生成的静态页名称参数2:静态页保存的目录参数3:生成静态页的方法名参数4:静态页编码(是utf8,不是utf-8)$this->buildHtml('1','/a/', 'view', 'utf8');buildHtml方法
示例:生成根目录Contact文件夹下index.html文件
简单例子 成功生成静态 这样静态页面就生成出来了。
2.那我们怎么实现直接访问静态文件,如果不存在就去生成呢。看下面的步骤。
利用tp的empty方法,我这里写的比较复杂。我解释一下
生成静态fang'fa 例如我的静态页面在根目录/contact文件夹下面,直接访问这个页面如果不存在就会跳到empty函数去,因为找不到页面
这时我们通过SERVER参数判断访问的页面并跳转过去生成静态页面。这样我们每次打开都是静态页面了
3.那我们怎么更新静态页面。
这个就比较简单了,我们通过地址栏直接访问原页面的路径就可以直接生成静态页面了
这是我这次对博客做的一个调整,网站访问的速度整体提高了很多。但我感觉还是有一些欠缺的,比如列表页的分页该怎么调整。现在博客文章列表页也是生成了静态,在发布了新文章之后所有的列表页就应该更新一遍,这样是不是有些复杂,如果你有好的想法,希望你可以留言告诉我,我们可以互相交流学习一下!