无需插件,使用阿里云 OSS 托管 Typecho 图片
注册阿里云并开通 OSS
开通 OSS,https://www.aliyun.com/product/oss/
- 请注意,OSS 是一个付费服务,请自行留意资源消耗和阿里云账单
在阿里云后台新建 Bucket 并配置
- 进入OSS 控制台,https://oss.console.aliyun.com/overview
- 从 Bucket 列表进入刚刚创建的 Bucket
选择左侧菜单中的 “概览”,可以看到你 Bucket 的地址
- 例如本站为:paoti.oss-cn-beijing.aliyuncs.com
- 找到右侧下方的 “基础设置” 模块,配置下面的三个项目
配置防盗链和读写权限
- 防盗链根据需求和页面指引自行配置
- 读写权限配置为:公共读
配置镜像回源
- 创建一条规则,例如本站的配置如下
- 这条规则的意思是,当访问 paoti.oss-cn-beijing.aliyuncs.com/images.png 时,如果 OSS 中没有该文件,会自动到 paoti.club/image.png 获取该文件
修改 Typecho 主题文件
在 Typecho 主题文件夹的 functions.php 内增加如下的函数
- 如果没有 functions.php 可以自行创建
function img_url_replace($content) {
$old = 'paoti.oss-cn-beijing.aliyuncs.com/usr/uploads/';
$new = 'paoti.oss-cn-beijing.aliyuncs.com/usr/uploads/';
$content = str_replace($old,$new,$content);
echo $content;
return;
}
在主题的其他文件中,任何输出文章内容的地方,将
<?php $this->content; ?>
替换为
<?php img_url_replace($this->content); ?>