首页 » 网站推广 » timthumbconfigphp技巧_WordPress缩略图优化让WordPress全部静态化

timthumbconfigphp技巧_WordPress缩略图优化让WordPress全部静态化

访客 2024-11-16 0

扫一扫用手机浏览

文章目录 [+]

想起之前帮一个站长做 CC 防御的时候,创造他的网站就算被纯静态化,被攻击时 CPU 依然狂飙。
末了剖析要求日志创造,所有的压力来自网站的 PHP 缩略图功能。
这个 PHP 缩略图虽然可以将实时天生的图片缓存成文件,但是第二次被要求,PHP 依然须要进行一些很大略的判断,比如这个缩略图是否被缓存、缓存文件是否过期等。
在海量 IP 的要求下,这些大略的 PHP 动态判断就成为了疲塌大户了!

这也就不难明得 WP-Super-Cache 的 php 缓存模式比 Mod_Rewrite 模式要慢的缘故原由了!
以是,静态缓存终极都要完备抛弃掉任何大略打算才能算是淋漓尽致!

timthumbconfigphp技巧_WordPress缩略图优化让WordPress全部静态化

这玩意在访问量过大时是个疲塌大户,但如果我想办法去掉个中的 PHP 动态判断呢?自然就能发挥到淋漓尽致了!

timthumbconfigphp技巧_WordPress缩略图优化让WordPress全部静态化
(图片来自网络侵删)
一、加速思路

我顺藤摸瓜,找到了这个 PHP 缩略图的利用方法:

<img src="http://timthumb所在目录/timthumb.php?src=图片地址&h=图片高度&w=图片宽度&zc=1" class="thumb" />

可以看到,这种传参肯定是存在动态判断的,以是要完备静态化,首先就要修正这个缩略图形式。

很大略,延续之前分享的 Nginx 缩略图思路,把上面的 url 改成在图片地址末了带参数的模式,然后伪静态重写为上面的形式,末了通过 Nginx 实现纯静态缓存。

二、支配方法

①、PHP 代码

下载后解压得到 thumb 文件夹,编辑里面的 timthumb-config.php,按照注释修正下(可选)。

然后将全体文件夹上传到网站根目录,现在按照倡萌给出的 url 形式肯定就可以看到缩略图了。

②、Nginx 规则

第①步能够正常看到缩略图效果后,我们接着支配 Nginx 规则。

在网站原有的 Nginx 规则中插入如下规则:

#Nginx重写PHP缩略图URL规则location ~ .\.(gif|jpg|jpeg|png|bmp)$ { set $width ''; set $height ''; set $width $arg_w; set $height $arg_h; #只要图片带上宽度(?w=)或高度(?h=)参数,都会将访问重写到/thumb/?src= 这个动态缩略图天生的接口上 if ( $width != '' ) { rewrite ^(.)$ /thumb/?src=http://$host/$1 last; } if ( $height != '' ) { rewrite ^(.)$ /thumb/?src=http://$host/$1 last; } expires max;}

这样还只是重写了缩略图的 URL 形式,如果须要开启缓存,则须要用到 Nginx 的 fastcgi 缓存。

按照之前的文章支配 fastcgi 缓存规则后,这个缩略图就被 Nginx 缓存了(在 F12 开拓者模式中查看 network 头部信息即可看到 HIT from yourdomain.com),加载速率自然也就上来了!

三、主题修正

做完上述操作之后,还只是具备了这个缩略图功能,而实际运用到博客文章,总不能手工一个一个输入图片带上尺寸吧?而且还有一堆老文章也不可能人工修正一遍吧?

实际办理很大略,请参考如下代码:

add_filter ('the_content', 'content_thumbnail');function content_thumbnail($content) { global $post; $pattern1 ="/<img(.?)src=('|\")(.?).(bmp|gif|jpeg|jpg|png)('|\") alt=\"(.?)\"(.?)>/i"; $pattern2 ="/<img(.?)src=('|\")(.?)-300x(\d+?).(bmp|gif|jpeg|jpg|png)('|\")(.?)>/i"; $pattern3 ="/<img(.?)src=('|\")(.?)-(\d+?)x300.(bmp|gif|jpeg|jpg|png)('|\")(.?)>/i"; $replacement = '<img$1src=$2$3.$5$6$7>'; $replacement2 = '<img$1src=$2$3.$4?w=480$5 alt="'.$post->post_title.'" tilte="'.$post->post_title.'"$7>'; $content = preg_replace($pattern2, $replacement, $content); $content = preg_replace($pattern3, $replacement, $content); $content = preg_replace($pattern1, $replacement2, $content); $content = preg_replace('/<img(.?)width="(.?)" height="(.?)"(.?)>/i', '<img$1$4>', $content);return $content;}

修正事理:

①、将老文章中带尺寸的图片改成完全图片路径,我之前用的是 300 大小的图片缩略图,以是这里须要将高或宽 300 的全部去掉,变成完全尺寸图片路径;

②、末了将文章中所有图片路径上带上适宜本文分享的尺寸规则,比如上述代码是?w=480,即图片缩略图统一改为 480px 大小。

好了,就分享这么多,有需求的朋友可以参考上面的代码,根据实际情形修正后加入到主题 functions.php 即可完美实现文章缩略图了。

扩展资料:强烈推举3款静态网站天生器

标签:

相关文章

R语言在文字云分析中的应用及其价值

随着互联网的快速发展,信息爆炸已成为常态。如何从海量数据中提取有价值的信息,成为当前研究的热点。文字云作为一种可视化工具,能够直观...

网站推广 2024-12-27 阅读0 评论0

R语言在点二列数据分析中的应用与方法

点二列数据分析是统计学中的一种重要分析方法,主要研究两个分类变量之间的关系。随着R语言在数据分析领域的广泛应用,点二列数据分析在R...

网站推广 2024-12-27 阅读0 评论0

解码IT硬件,探索现代信息技术的基石

随着信息技术的飞速发展,IT硬件作为现代信息技术的基石,扮演着至关重要的角色。从计算机到网络设备,从存储设备到服务器,IT硬件为我...

网站推广 2024-12-27 阅读0 评论0

R语言在数据分析与处理中的优势与应用

随着大数据时代的到来,数据分析与处理成为了各个领域关注的焦点。R语言作为一种功能强大的统计计算与图形展示语言,凭借其丰富的包管理库...

网站推广 2024-12-27 阅读0 评论0

R语言在数据分析中的重要作用与方法探索

随着大数据时代的到来,数据分析在各个领域的重要性日益凸显。R语言作为一种开源的统计软件,以其强大的数据处理和统计分析功能,成为了数...

网站推广 2024-12-27 阅读0 评论0