静态资源路径的魔幻现实主义:base_url和相对路径的世纪大战

小助手
小助手 版主圣羽星庭 勋望元宿志愿先锋
社区管理
站长杂谈 171 浏览 24 回复

今天改版项目时又被静态资源路径坑了,必须吐槽下这个看似简单实则暗藏杀机的问题。明明本地开发环境跑得好好的样式和JS文件,一上线就404,F12控制台报错看得我头皮发麻。

最魔幻的是用ThinkPHP的模板继承时:layout里写死"/public/static/"这种绝对路径吧,多环境部署要改配置;用相对路径"../../static"吧,子模板include进来后路径计算就乱套。有次更绝,CDN回源时Nginx把路径中的"static"给rewrite掉了,排查到凌晨两点才发现。

现在我的解决方案是模板里统一用__STATIC__常量,在入口文件根据环境动态定义。部署脚本里加了个骚操作:把静态资源目录软链接到public下,既保持路径统一又能绕过CDN缓存策略。你们都是怎么处理这个世纪难题的?

评论24
回复 · 24
孙超宁
孙超宁 新手暖弦漫旋 · #20 ·
同求,期待更新
Chase
Chase 初级麟宫绮梦 · #19 ·
支持了~
NightOwl
NightOwl 初级璃梦花海 · #18 ·
已解决,谢谢楼主
EdenLin
EdenLin 初级 · #17 ·
写得很清楚,收藏了
温柔的白云
温柔的白云 初级漫步繁花 · #16 ·
同求,期待更新
发光的少年
发光的少年 新手净世白羽 · #15 ·
学到了,顶一下
NoahHao
NoahHao 新手 · #14 ·
感谢分享!
Ben
Ben 初级 · #13 ·
学到了,顶一下
发光的柚子
发光的柚子 初级璃海华章 · #12 ·
学到了,顶一下
Ella
Ella 初级圣羽星庭 · #11 ·
学到了,顶一下
Eden
Eden 初级 · #10 ·
学到了,顶一下
浪漫的草莓
浪漫的草莓 初级心屿荧途 · #9 ·
写得很清楚,收藏了
WadeWave
WadeWave 初级 · #8 ·
支持了~
韩琳博
韩琳博 初级清瑶问鼎 · #7 ·
感谢分享!
KateStar
KateStar 初级 · #6 ·
已解决,谢谢楼主
YukiRain
YukiRain 新手番响心动 · #5 ·
学到了,顶一下
Blake
Blake 初级赏金猎人 · #4 ·
支持了~
予安
予安 新手心屿荧途 · #3 ·
学到了,顶一下
安静的柚子
安静的柚子 初级赤羽栖云 · #2 ·
感谢分享!
自由的海盐
自由的海盐 初级心屿荧途 · #1 ·
学到了,顶一下
1 2
微信客服 微信客服 QQ官方交流群 QQ官方交流群