通过 apache 的 mod_rewrite 模块,可在不修改 html 代码的前提下,将所有对旧图片域名(如 img.example-domain.com)的 http 请求自动、透明地重定向至新的 aws 图片服务地址。
要在 Apache 中实现对整个旧图片域名(例如 img.example-domain.com)的统一重定向,最高效且无需改动前端代码的方式是利用服务器级 URL 重写——即通过 .htaccess 文件或虚拟主机配置启用 mod_rewrite 模块进行基于 Host 头的条件重定向。
以下是一个经过验证、安全可用的配置示例(适用于 .htaccess 文件):
RewriteEngine On # 匹配主域名及可能的 www 子域 RewriteCond %{HTTP_HOST} ^img\.example-domain\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.img\.example-domain\.com$ # 将全部路径重写到新 AWS 地址(注意:此处需替换为真实可用的 AWS 域名) RewriteRule ^(.*)$ https://im g.example-domain.com.amazon.etc/$1 [R=302,L]
✅ 关键说明:
⚠️ 注意事项:
? 进阶提示:
如需支持通配子域(如 *.img.example-domain.com),可将条件改为:
RewriteCond %{HTTP_HOST} \.img\.example-domain\.com$ [NC]并配合 ServerAlias 或泛解析 DNS 使用。
综上,该方案以最小侵入性解决了“代码未更新但服务已迁移”的典型运维场景,兼顾可维护性、安全性与兼容性,是静态资源域名迁移的标准实践之一。