技术知识分享

wordpress免插件实现静态资源CDN

腾讯云双11活动

昨天小白买了正版的DUX主题。发现访问有点慢。原来是DUX6.1版本的CSS跟JS都比之前开心版5.0的大了好多。小白的2M宽带开始缓慢起来了。好在还空闲了一个服务器。干脆把静态资源设置成CDN,2个服务器共同分担下网络。

想好做法后首先想到了,从wordpress主题先开刀。可是折腾了一圈发现没地方好改。只能谷歌了一下。原来可以在functions.php中添加代码实现替换资源。找了一圈后最后使用了张戈的代码。

代码如下:

//静态资源CDN
function OSSCDN(){
function Rewrite_URI($html){
/* 前面是需要用到CDN的域名,后面是需要加速的静态文件类型,使用分隔符 | 隔开即可 */
$pattern ='/https:\/\/(www\.|)pc6a\.com\/wp-content\/themes\/dux\/([^"\']*?)\.(js|css)/i';
/* CDN空间地址,请自行替换成实际空间地址 */
$replacement = 'https://cdn.pc6a.com/dux/$2.$3';
$html = preg_replace($pattern, $replacement,$html);
return $html;
}
if(!is_admin()){
ob_start("Rewrite_URI");
}
}
add_action('init', 'OSSCDN');

这里做下简单解释,https:\/\/(www\.|)pc6a\.com,这里换成自己的网址一级域名就只需要替换pc6a,和.com。二级域名则需要替换www。
https://cdn.pc6a.com/dux/这个需要替换成自己的CDN地址,可以是阿里云OSS或者7牛云的CDN地址。
(js|css) 是你需要加速的文件的后缀。使用 | 区分。

最后还有一个问题,简单的js、css问题都不大,如果你还有字体,那么就得设置Nginx跨域。不然会没有权限加载。等会我在写个跨域的代码。

跨域设置教程查看:https://pc6a.com/2013.html

未经允许不得转载:pc6a学习分享 » wordpress免插件实现静态资源CDN
阿里云服务器11月抢购

评论 抢沙发

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