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 的基础设置->镜像回源中进行设置。
点击这里的设置按钮。
点击创建规则按钮。
在这里写上你网站的域名,其他不需要修改,然后点击下面的确定即可。
回源设置完成,之后你网站上的所有图片、css、js 文件都会被转到 oss 的地址,如果 oss 上没有该文件,oss 会自动访问服务器并把文件同步到 oss 中。
最后更新于:2023.05.27 08:35 如已失效请留言