批量给Discuz空间DIY样式添加CDN加速功能
[文章作者:磨延城 转载请注明原文出处: https://mo2g.com/view/130/ ]
Discuz的功能考虑的比较人性化,而且做得比较完善,这就促使了很多会员热衷于装扮自己的空间,添加大图背景、音乐等等. 由于Discuz社区上线一段时间后,才使用了CDN图片加速机制,这就导致已经装扮过空间的会员,没办法使用CDN服务器上的资源了.
Discuz的功能考虑的比较人性化,而且做得比较完善,这就促使了很多会员热衷于DIY装扮自己的空间,添加大图背景、音乐等等。
由于Discuz社区上线一段时间后,才使用了CDN图片加速机制,这就导致已经装扮过空间的会员,没办法使用CDN服务器上的资源了。
简单讲解一下,会员DIY完成后,生成的DIY样式直接保存到Discuz数据库的pre_common_member_field_home
表中,所以执行如下操作
1)后台->全局->性能优化->服务器优化,修改js跟css的url地址
2)后台->全局->上传设置->基本设置,修改附件url地址
都没办法改变样式中的url了,除非用户重新DIY。
为了达到CDN加速的效果,下边就分享一个特殊的技巧——mysql的批量替换函数REPLACE。
例一:给背景图片URL地址添加域名,http://www.mo2g.com
原数据:
body { background-repeat:repeat !important; background-image:url('data/attachment/album/test.jpg') !important; }
mysql的SQL语句如下:
UPDATE pre_common_member_field_home SET spacecss = REPLACE (spacecss, "background-image:url('data/attachment/album/", "background-image:url('http://www.mo2g.com/data/attachment/album/");
替换后的数据:
body { background-repeat:repeat !important; background-image:url('http://www.mo2g.com/data/attachment/album/test.jpg') !important; }
例二:更换URL域名为,http://mo2g.com
原数据:
body { background-repeat:repeat !important; background-image:url('http://www.mo2g.com/data/attachment/album/test.jpg') !important; }
mysql的SQL语句如下:
UPDATE pre_common_member_field_home SET spacecss = REPLACE (spacecss, 'www.mo2g.com', 'mo2g.com');
替换后的数据:
body { background-repeat:repeat !important; background-image:url('http://mo2g.com/data/attachment/album/test.jpg') !important; }
通过使用REPLACE函数,就实现了无缝切换到CDN服务器。此后用户打开自己的空间就更快了。
上一篇:给阿里云服务器新增云磁盘
下一篇:IE浏览器的一些兼容性问题
我来说两句: