typecho 全站ajax,typecho全站静态化方案
typecho全站静态化方案
我若为王 • 2020 年 03 月 30 日
Loading...
## 方案
利用wget全站保存为html,然后再修改文件中的链接
## 脚本
```
$url = 'https://ifking.cn'; //网址,不能以"/"结尾
$rurl=''; //要替换成路径或网址,可为空,不能以"/"结尾
$dir = __DIR__ . "/" . str_replace('https://', '', str_replace('http://', "", $url));
exec("clear",$clc);
echo $clc[0];
echo "开始下载文件\r\n";
exec("rm -rf {$dir}",$return);
exec("wget -r -p -np {$url}",$return);
$dirs = get_filenamesbydir($dir);
//不处理非html文件
for ($i = 0; $i < count($dirs); $i++) {
$file=str_replace(__DIR__, "", $dirs[$i]['file']);
if (!preg_match("/html/",$file) ) {
//删除对应的元素
unset($dirs[$i]);
}
}
array_filter($dirs);
sort($dirs);//重新生成索引下标
//网址处理
$count=count($dirs);
for ($i = 0; $i < $count; $i++) {
$content=str_replace($url,$rurl,file_get_contents($dirs[$i]['file']));
file_put_contents($dirs[$i]['file'],$content);
$n=$i+1;
exec("clear",$clc);
echo $clc[0];
echo "文件下载完毕\r\n";
echo "开始处理文件,共{$count}个文件需要处理,已处理{$n}个\r\n";
}
echo "处理完毕,文件目录:{$dir}\r\n";
function get_allfiles($path, &$files)
{
if (is_dir($path)) {
$dp = dir($path);
while ($file = $dp->read()) {
if ($file !== "." && $file !== "..") {
get_allfiles($path . "/" . $file, $files);
}
}
$dp->close();
}
if (is_file($path)) {
$files[] = ['file' => $path];
}
}
function get_filenamesbydir($dir)
{
$files = array();
get_allfiles($dir, $files);
return $files;
}
```
保存上述代码为html.php并修改,运行 `php html.php`
需要系统安装有wget(一般都有)并且启用php的exec函数
思路来源于 [https://blog.5v5.lol/archives/88/][1]
## 预览
[https://blog.ifking.cn][2]
[1]: https://blog.5v5.lol/archives/88/
[2]: https://blog.ifking.cn
typecho 全站ajax,typecho全站静态化方案相关推荐
- 淘淘商城第86讲——实现商品详情页面静态化方案时,你没遇到过java.lang.IllegalArgumentException或者java.lang.NullPointerException这种异常
问题描述 今儿个,我在实现商品详情页面静态化方案时,遇到了一个蛮奇怪的异常,为什么说蛮奇怪呢?因为它只在第一次测试的时候出现过,后面就再也没出现过了. 我先描述一下这个异常是怎么出现的,我在淘淘商城后 ...
- typecho模板ajax,Typecho实现全站式Ajax的方法
我相信不懂jQuery和Ajax的朋友看到这篇文应该会挺高兴的,因为目前网络上关于Typecho的Ajax关键字全是willin kan做的AjaxComments插件.如果你对Typecho的全站化 ...
- java网站页面静态化方案
要生活得漂亮,需要付出极大的忍耐,一不抱怨,二不解释,绝对是个人才.--<变形记> 1.概述 在大型网站中,如京东和当当商品详情界面,看到的页面基本上是静态页面.为什么都要把页面静态化呢? ...
- 动态页面静态化之页面静态化方案
动态页面静态化之页面静态化方案 --------- 在大型网站中,访问者看到的页面基本上是静态页面.为什么都要把页面静态化呢? 把页面静态化,好处有很多.例如:访问速度快,更有利于搜索引擎收录等.目前 ...
- typecho 全站ajax,Typecho全站启用HTTPS教程
全站启用HTTPS已经成为趋势,搜索引擎也在不断重视,今天就分享下Typecho设置HTTPS的过程. 申请SSL证书 如果您还没有域名SSL证书,请自行申请沃通免费SSL证书和Let's Encry ...
- typecho模板ajax,typecho ajax登陆
typecho ajax登陆 反回responseText返回的为html代码! 帐户密码为admin/123456 $.ajax({ url: "<?php $this->op ...
- zblog 全站ajax,ZBlog全站缓存
ZBlog是一个动态的内容管理系统,所以每次用户访问网站时,ZBlog都会从数据库中提取信息,然后在将网页发送到用户的浏览器. 当同时访问网站的用户过多时,这会使网站加载速度变慢.缓存能使网站跳过很多 ...
- 项目性能优化(页面静态化2)
对于商品详情页,因查询数据量大,而且是用户频繁访问的页面,为了减少数据库查询次数,提升页面响应效率,也要对详情页进行静态化处理. 对于首页广告的数据,因变化非常的频繁,可以使用定时任务进行静态化.对于 ...
- [Apache]网站页面静态化与Apache调优(图)
---------------------------------------------------------------------------------------------------- ...
最新文章
- Java输入输出(io)流详解、图解
- Linux系统服务器如何禁ping
- mysql数据库表的基本操作
- CentOS5安装Nginx1.4+PHP5.5 FastCGI
- R plot图片背景设置为透明_R语言入门第十二讲:基础绘图(二)------plot与par函数(1)...
- 我也有了博客了,呵呵~~
- 教你高效管理CrossOver容器
- android studio for android learning (十三) 一个简单的图片查看器示例
- 【vijos】在vijos的自己的域中创建题目
- 【学习笔记-1】- 非线性规划的最优性一阶/二阶必要条件之例题(12道)
- 超详细html5登录注册页面总结
- Android各种模拟器使用笔记
- Android Service保活方法总结
- 安徽省计算机考试准考证查询
- 基于Xposed框架截取安卓手机应用数据信息
- python特征选择relieff图像特征优选_python 3.x实现特征选择ReliefF算法
- 脑电波也能卖萌 这样的传感器好特别
- 【易通慧谷】供应链金融主要模式及对商业银行的影响
- 论文|翻译——行为数据挖掘(持续更新!)
- 华为S6700交换机配置