如何在Azure托管静态网站时去除URL中的$web路径后缀
解决方案
以下是可直接落地的操作步骤,按优先级依次尝试即可:
1. 修正CDN源站类型配置(90%以上该问题都是这个配置错误导致)
- 进入Azure CDN配置界面,找到「源组」对应的配置项
- 将源类型从默认的「存储Blob」切换为「静态网站」
- 确认自动填充的源站地址为静态网站专属端点(后缀为
web.core.windows.net,而非blob.core.windows.net) - 保存配置后等待CDN节点同步,通常10分钟内生效
2. 检查存储账号静态网站基础配置
- 打开对应存储账户的「静态网站」设置页
- 确认「索引文档名称」已填写为
index.html - 若使用SPA框架,额外将「错误文档路径」也设置为
index.html,避免前端路由刷新时404
3. 配置CDN规则引擎重写URL(适配SPA路由场景)
- 进入CDN的「规则引擎」板块,新增全局规则:
- 匹配条件:请求URL 等于
https://www.<yourdomain>.com - 操作类型:URL重写,源模式填
/,目标路径填/index.html,勾选「保留不匹配路径」
- 匹配条件:请求URL 等于
- 若需要适配所有SPA前端路由,再加一条规则:
- 匹配条件:请求文件扩展名 不属于
.js,.css,.png,.jpg,.gif,.svg,.ico等静态资源后缀 - 操作类型:URL重写,源模式填
/*,目标路径填/index.html
- 匹配条件:请求文件扩展名 不属于
所有配置完成后若未立即生效,可手动触发CDN缓存清除操作,加快节点同步。
内容的提问来源于stack exchange,提问作者Jamie Ballingall
相关产品推荐
相关产品推荐

