纯代码实现WordPress静态文件分离图像媒体全部迁移至阿里云(oss)对象存储 降低服务器存储压力

纯代码实现WordPress静态文件分离图像媒体全部迁移至阿里云(oss)对象存储 降低服务器存储压力

2023.04.30 15:19 91 0
主页 / 前端 / 纯代码实现WordPress静态文件分离图像媒体全部迁移至阿里云(oss)对象存储 降低服务器存储压力
function sk_rewrite(){
    ob_start("Rewrite_URI");
} 
add_action('init', 'sk_rewrite');

function Rewrite_URI($html){
	$domain = 'domain.com';   //填写主站域名
	$img = 'domain.oss-cn-hangzhou.aliyuncs.com'; //填写图片资源域名,示例使用的是阿里云 OSS 杭州区的 bucket 域名
	$static = 'domain.oss-cn-hangzhou.aliyuncs.com'; //填写 css 与 js 的资源域名,示例使用的是阿里云 OSS 杭州区的 bucket 域名
	$html = preg_replace('/http(s|):\/\/'.$domain.'\/wp-([^"\']*?)\.(jpg|png|gif|bmp|jpeg)/i','//'.$img.'/wp-$2.$3',$html); //把图片链接替换成远程路径
	$html = preg_replace('/http(s|):\/\/'.$domain.'\/wp-([^"\']*?)\.(css|js)/i','//'.$static.'/wp-$2.$3',$html);//把 css 及 js 链接替换成远程路径
	return $html; 
} 

把上方代码放入主题文件的 functions.php 中即可。

在插入以上代码后,还需要把你网站的静态文件放入对象存储中,记得 uri 要一致。你也可以开启回源来实现自动把服务器上的文件同步到对象存储中。

还是拿阿里云 OSS 举例,在 bucket 的基础设置->镜像回源中进行设置。

纯代码实现 WordPress 静态文件分离图像媒体全部迁移至阿里云(oss)对象存储 降低服务器存储压力

点击这里的设置按钮。

纯代码实现 WordPress 静态文件分离图像媒体全部迁移至阿里云(oss)对象存储 降低服务器存储压力

点击创建规则按钮。

纯代码实现 WordPress 静态文件分离图像媒体全部迁移至阿里云(oss)对象存储 降低服务器存储压力

在这里写上你网站的域名,其他不需要修改,然后点击下面的确定即可。

纯代码实现 WordPress 静态文件分离图像媒体全部迁移至阿里云(oss)对象存储 降低服务器存储压力

回源设置完成,之后你网站上的所有图片、css、js 文件都会被转到 oss 的地址,如果 oss 上没有该文件,oss 会自动访问服务器并把文件同步到 oss 中。

最后更新于:2023.05.27 08:35 如已失效请留言
评论(0) 评论本文