如何为WordPress的S3 Uploads插件配置自定义CloudFront域名
配置S3 Uploads插件使用自定义CloudFront域名替代默认随机域名
1. 修改wp-config.php中的插件配置
直接把S3_UPLOADS_BUCKET_URL的值替换成你的自定义域名www.mydomain.com,修改后的配置如下:
define('S3_UPLOADS_BUCKET', 'mydomain-wordpress-media'); define('S3_UPLOADS_BUCKET_URL', 'www.mydomain.com'); // 替换为自定义域名 define('S3_UPLOADS_HTTP_CACHE_CONTROL', 24 * 60 * 60); define('S3_UPLOADS_KEY', 'AASKL9LKJLKJ3B3KK'); define('S3_UPLOADS_SECRET', 'asdnkljasdhLKJSADLKJasdlkhj21'); define('S3_UPLOADS_REGION', 'eu-central-1'); define('S3_UPLOADS_AUTOENABLE', false);
保存wp-config.php后,新上传的媒体文件会自动使用自定义域名生成链接。
2. 确认CloudFront的SSL证书配置
使用自定义域名必须确保CloudFront分发关联了有效的SSL证书:
- 登录AWS Certificate Manager,申请或确认已拥有覆盖
*.mydomain.com的证书(证书需部署在CloudFront所在的us-east-1区域) - 回到CloudFront管理器,编辑你的分发,在常规选项卡的**备用域名(CNAMEs)**下方,确认SSL证书已选择对应ACM证书,状态显示为「已部署」
3. 修正Hostinger的CNAME记录配置
注意你提到的「CNAME重定向」是错误操作,正确步骤是添加CNAME记录:
- 登录Hostinger域名管理后台,找到DNS设置
- 添加一条CNAME记录:主机记录填
www,记录值填CloudFront默认域名ake12sa38qwe.cloudfront.net,TTL保持默认 - 等待DNS生效(通常10-30分钟)
4. 批量替换媒体库中已存在的旧链接
之前上传的图片仍使用旧CloudFront地址,需批量更新:
方法一:使用SQL命令(先备份数据库)
登录数据库管理工具(如phpMyAdmin),执行以下SQL语句(替换wp_为你的WordPress数据库前缀):
-- 更新文章内容中的图片链接 UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://ake12sa38qwe.cloudfront.net/uploads/', 'https://www.mydomain.com/uploads/'); -- 更新媒体元数据中的链接 UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'https://ake12sa38qwe.cloudfront.net/uploads/', 'https://www.mydomain.com/uploads/');
方法二:使用WordPress插件
安装并激活「Better Search Replace」插件,在插件设置中:
- 搜索内容填
https://ake12sa38qwe.cloudfront.net/uploads/ - 替换内容填
https://www.mydomain.com/uploads/ - 选择posts、postmeta等相关数据表,勾选「运行备份」后执行替换
5. 验证配置生效
- 上传新图片到媒体库,检查URL是否为
https://www.mydomain.com/uploads/xxx.jpg格式 - 访问旧图片链接,确认能正常加载
- 打开浏览器控制台,排查是否有HTTPS证书错误或资源加载失败提示
内容的提问来源于stack exchange,提问作者Nixen85
相关产品推荐
相关产品推荐

