使用阿里云CDN加速图片后导致文章缩略图打不开的解决方法和思路

问题条件

1.wordpress站点

2.阿里云OSS

3.wpjam-basic

今天小焦要说的问题就是我们的wordpress站点使用阿里云oss的对象储存进行CDN加速图片后发现文章内部以及其他的图片都正常显示,唯独文章缩略图不显示的解决方法。

如果你和我遇到一样的问题请往下看

首先说一下,此问题是怎么发生的,以确保读者是和我相同的症状。

我这边使用的是欲思主题,使用https协议,阿里云oss,wpjam-basic插件进行CDN设置的。其他代码是没有做任何更改的。

情景分析思路

当出现上述问题后,我先是F12了一下,发现没有加载出来的图片全部是400报错,然后我先把CDN关掉,发现关掉后缩略图正常。作为一名小白,第一就在想是不是wpjam插件的问题,然后先是去该插件的社区去寻找有没有人和我一样的问题,结果发现是没有完整的方法的。

然后我就想了一下,只有缩略图加载不出来,估计是缩略图那块出了问题。然后百度,网上说是timthum.php的问题。

我先在这把网上搜到的方法整理一下(然而还是没有解决我这边的实际问题)

1.有人说没有安装php的gd库

2.timthumb.php的设置问题。timthumb默认是不支持外部链接的,要想调用外部链接,要打开外部的白名单,有两种方法

方法一、 把根目录的timthumb.php文件中的define (‘ALLOW_ALL_EXTERNAL_SITES’, false)将它替换为:define (‘ALLOW_ALL_EXTERNAL_SITES’, TRUE) 没错,就是吧false替换为true就行了,意思就是打开所有外部链接的按钮。

方法二、同样在timthumb.php文件中添加外部白名单,找到如下代码,直接在后面添加你的CDN域名就行了。

if(! isset($ALLOWED_SITES)){
 $ALLOWED_SITES = array (
 'wpdaxue.com',
 'cmhello.com',
 'wpdx.com',
'添加你的域名'
 );

通过上述方法,基本上可以解决大多数的缩略图问题了。可是还是没有解决我的问题

3.cache的文件权限问题,系统默认是755,有人说给个777试试,然而没有卵用。

4.阿里云oss的防盗链(这块就是个废话,对阿里云用过的一般都知道这个,如果是是防盗链的问题,为啥我其他图片正常加载)

最后解决成功的办法

网上能搜的能试的方法我全部试过,上述第二种方法是最合理,也是解决问题最多的,然而到了我这里还是不能解决问题。最后打着放弃的心态,忍了两天,问题没有解决,如鲠在喉

一天早上突然想到浏览器这些东西都是有缓存的,服务器也有缓存,然后搜了一下,timthumb的缓存文件都是在cache这个文件夹的,它是以txt配置的形式保存的。

然后我使用 rm 文件名* 命令将该文件夹下全部的txt文件全部删掉,重新测试,发现问题还没有解决,突然发现删完txt文件后上面有个index.html的文件和一个touch结尾的文件。不知道是干啥用的,但是仔细想了下,该目录既然是缓存文件夹,应该删掉是没事的。然后直接使用rm -rf cache 命令删掉整个文件夹重新测试。

最后的结果,大家应该已经清楚了,症状完全解除,缩略图恢复正常。我也是非常郁闷,网上那么多的大神解决方法,唯独没有提到缓存文件的问题。网页刷新了几次,发现主题目录下又自动生成了cache文件夹,所以是不用担心的。

今天的分享到此结束,喜欢的朋友可以点个喜欢哦,希望能帮到你。如果还没有解决的可以留言哦

 

喜欢(0)

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

欢迎访问的小伙伴! 希望在这里能帮到你。有问题请多多指教~ 点击联系站长
在线客服

在线客服

  • 扫描二维码,微信联系 扫描二维码,进群联系