多域名图片目录映射配置指南
一、适用场景
以下场景中,网站内容里的图片可能无法正常加载:
- 手机域名访问时,无法加载内容中的图片
- 多站点部署时,子站无法加载图片
- 绑定不同域名时,无法加载主站的相对路径图片
二、问题原因
以主站图片 www.xunruicms.com/uploadfile/a.jpg 为例:
当手机域名访问 m.xunruicms.com/uploadfile/a.jpg 时,会返回 404。原因是手机站点目录下并不存在 uploadfile 这个目录,自然无法找到对应文件。
解决方案:在手机站中做一次目录映射,让手机站的 uploadfile 目录自动调用主站的 uploadfile 目录。
三、实现方法(以 Nginx 为例)
站点信息:
表格
| 项目 | 域名 | 目录 |
|---|---|---|
| 主站 | www.xunruicms.com | /www/wwwroot/demo.xunruicms.com/ |
| 目标站(手机站) | m.xunruicms.com | /www/wwwroot/demo.xunruicms.com/mobile/ |
操作步骤:
- 进入目标域名(
m.xunruicms.com)的宝塔站点设置,找到配置文件 - 在 server 段中合适的位置,加入以下目录映射代码:
location /uploadfile/ {
alias /www/wwwroot/demo.xunruicms.com/uploadfile/;
}
该配置的作用:手机域名访问
uploadfile目录时,自动显示主站对应的文件。
- 保存配置并重载 Nginx 使其生效
四、多目录映射
当需要映射多个目录时,可照此方法添加多组映射关系,例如:
location /uploadfile/ {
alias /www/wwwroot/demo.xunruicms.com/uploadfile/;
}
location /static/ {
alias /www/wwwroot/demo.xunruicms.com/static/;
}
