最近服务器套到了阿里云上,虽然说加速效果较为明显,加载时间可以有较为明显的提升,但是总体来说,服务器托管在国外的特点还是可以一下子感觉出来,打开网站的响应速度还是过于缓慢。于是,在与群友的交流过后,我学到了一个姿势,WP或者其他网站的静态资源(jpg,png,css,js等)可以托管在国内的备案域名服务器上,并引向国外主机的主网站配置文件中,结果显而易见,对网页速度的提升非常明显且令人惬意。
在这个文章中我将会以WordPress为例,教学如何把网页中的静态内容迁移到国内已备案服务器。
一、准备工作
既然是要托管在国内,那么你就需要:
1.一个正常运作的可以修改配置文件的WordPress主机(本文采用t.bilibili.su作为源站域名站点)
2.一个已经装好Nginx(或者Apache等HTTP服务器也可以)的国内(或者亚洲)服务器
二、站点文件迁移
把源站的文件转移到目标缓存服务器的网站目录下,并设置好SSL等参数。
三、源站配置
进入WordPress的配置文件夹,定位到/wp-content/themes/你的主题,找到functions.php并编辑,在<?php标签后添加如下语句:
ob_start(“Static_Switch”);
function Static_Switch($buffer){
$buffer_out = preg_replace(‘/https:\/\/t.bilibili\.su\/wp-([^”\’]*?)\.(jpg|png|gif|css|js|woff|woff2|ttf|svg|eot)/i’,’http://static.bilibili.su/wp-$1.$2′,$buffer);
return $buffer_out;
}
注:如果你的站点没有开启SSL,请将https:改成http:
注: (jpg|png|gif|css|js|woff|woff2|ttf|svg|eot) 括号内为要使用加速的文件后缀,可以自行按照规定格式增减。
随后定位到源站点根目录,修改config.php, 加入如下代码 :
define(‘COOKIE_DOMAIN’, ‘t.bilibili.su’);
随后,在两个服务器的站点HTTP(nginx)配置文件中的server{}中添加如下语句允许访问外部资源:
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
注: 如果只允许自己的网站的域名使用CDN,可以将第一行代码的星号改为自己的域名,例如 *.bilibili.su
四、结语
效果还是不错的,同学用了都说好!如果有什么不懂得或者bug,可以在下面问我(虽然不一定帮得了你)