不能听命于自己者,就要受命于他人。网站首页学海无涯

thinkphp3.2.3 生成静态 页面静态化简单思路

陈佚2018-12-13 22:51:283人围观暂无分类
简介我的博客服务器是2核4G内存40G1M带宽,加上用是的TP3.2的框架,整体访问速度实在是不敢恭维,于是考虑通过伪静态的方式在优化页面,提升一下用户体验!

先大概说一下我的想法吧!

将动态页面通过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文件

image.png

image.png

这样静态页面就生成出来了。


2.那我们怎么实现直接访问静态文件,如果不存在就去生成呢。看下面的步骤。

利用tp的empty方法,我这里写的比较复杂。我解释一下

image.png

例如我的静态页面在根目录/contact文件夹下面,直接访问这个页面如果不存在就会跳到empty函数去,因为找不到页面

这时我们通过SERVER参数判断访问的页面并跳转过去生成静态页面。这样我们每次打开都是静态页面了


3.那我们怎么更新静态页面。

这个就比较简单了,我们通过地址栏直接访问原页面的路径就可以直接生成静态页面了


这是我这次对博客做的一个调整,网站访问的速度整体提高了很多。但我感觉还是有一些欠缺的,比如列表页的分页该怎么调整。现在博客文章列表页也是生成了静态,在发布了新文章之后所有的列表页就应该更新一遍,这样是不是有些复杂,如果你有好的想法,希望你可以留言告诉我,我们可以互相交流学习一下!

文章评论

    共有0条评论来说两句吧...