SaHtmlCache 介绍
Typecho HTML 静态缓存插件 SaHtmlCache V1.0.0 发布
我这个老博客文章比较多,为了节省服务器资源,减少数据库读写次数,于是就花了点时间,做了typecho第一个插件
同一个页面先看一下启用前和启用后的差别
未启用缓存加载页面需要3.94s
启用缓存后加载页面需要1.49s
服务器配置高的话,基本上感觉不到差距,但是网站访问量大了之后,服务器资源就很紧缺了,节省一半的时间效果还是很明显的哇,哈哈哈
SaHtmlCache 下载
https://github.com/cnsamool/SaHtmlCache-For-Typecho
SaHtmlCache 安装方法
1、将SaHtmlCache.rar 解压后上传于站点/usr/plugins/目录下
2、PHP.ini环境配置文件要改一下,将allow_url_include = On
3、永久链接(伪静态)设置为/{cid}.html (目前是通过文章编号cid生成文件的,如果想生成个性化文件名,请自行修改一下插件生成文件名)
4、将cache目录设为可读可写,Linux是777权限
5、修改站点根目录下index.php,添加以下代码
/** SaHtmlCach 重定向到HTML静态文件 */
$safile = $_SERVER['REQUEST_URI'];
if(strpos($safile,'comment')<1){
if ($safile=='/'||$safile=='index.php'){
$safile = 'index.html';
}
$sahtmlfile = './usr/plugins/SaHtmlCache/cache/'.$safile;
if(file_exists($sahtmlfile)){
include($sahtmlfile);
exit;
}
}
如图所示
6、后台启用插件,并生成HTML文件
伪静态设置参考
帮助说明
1、如何区分HTML缓存是否生效?
查看网页源代码,如果顶部有SaCache created 2020/01/04 04:33:14代码,说明已经成功,如图所示
2、搜索功能是否影响?
不影响博客搜索页
3、分类目录页是否可以缓存?
暂时不支持
4、评论页是否支持HMTL缓存?
支持,需要定期生成HMTL文件
5、为何生成HTML比较卡?
全站生成HTML慎用,比较耗服务器资源,不过一劳永逸,耐心等待吧
6、我是否可以修改代码?
可以随便修改代码,如果您有优化过代码,或者新增了功能,记得发一份代码给我6042506@qq.com
31 条评论
已启用,效果很棒~
安装后首页搜索功能失效
dalao,如果能添加访问后自动生成静态html,有新文章或评论,删除缓存文件 就更牛逼了。
由于服务器用的学生机,所以想拥有静态页面,安装后才发现插件只支持cid生成页面,怎么生成自定义的永久链接呢,流下了没有技术的泪水
tp占资源本来就少,这个静态页面插件用来搞起玩的,没有必要较真
感谢博主开源,亲测正常使用,就是同楼上 @三脚猫 说的使用了第三方登录之后回调回来,其实已经是登陆成功的状态了,但是因为页面用的是几分钟前缓存的html,所以前台上来看还是未登录的状态,不影响实际使用其实
allow_url_include = On
已设置为On,php-fpm和nginx也已经重新启动了,还是不行!
Warning: include(): https:// wrapper is disabled in the server configuration by allow_url_include=0 in /var/www/html/usr/plugins/SaHtmlCache/Plugin.php on line 366
Warning: include(https://1818618.cn/index.php): failed to open stream: no suitable wrapper could be found in /var/www/html/usr/plugins/SaHtmlCache/Plugin.php on line 366
Warning: include(): Failed opening 'https://1818618.cn/index.php' for inclusion (include_path='.::/var/www/html/var:/var/www/html/usr/plugins') in /var/www/html/usr/plugins/SaHtmlCache/Plugin.php on line 366
1:缓存完成的页面,每次首次访问都不会访问缓存,只有点击刷新了缓存才会生效。(我的站有cdn)
2:由于我的文章太多,点击全部缓存的话请求会超时,导致总是无法全部缓存
!请问小站伪静态地址是 https://www.XXX.com/t/36597 形式, 没有HTML后缀可以使用吗
目前是不可以的,你可以改改伪静态规则试试
你好博主,我的后台固定链接 是这样的形式 /{category}/{cid}.html
显然插件好像并不符合我的博客,所以我需要修改下plugin 但我始终没找到修改办法,你做的插件真的挺好,但目前我只能使用网站首页缓存功能,文章缓存调用不成功,可以告知下我该怎样做吗?谢谢!
博主都不搭理我。。。。
启用插件后就提示server error