Umbraco 13部署至Azure Web App后页面未找到问题求助
Umbraco Azure部署问题排查方案
一、前端“页面未找到”问题排查
- 确认内容发布状态:登录Umbraco后台,检查所有内容节点(尤其是首页/根节点)是否已点击发布按钮,未发布的内容不会在前端展示。
- 核对主机名配置:进入后台
Settings > Hostnames,确认Azure Web App的访问域名已添加到主机名列表中,若未配置,直接添加当前域名即可。 - 重建Examine索引:进入
Settings > Examine Management,选中InternalIndex和ExternalIndex,点击Rebuild Index按钮。Azure临时存储可能导致索引损坏,手动重建可解决路由匹配问题。 - 检查Models Builder状态:当前配置
ModelsMode: SourceCodeManual,需确保本地生成的模型文件(~/Models/Generated目录下)已完整部署到Azure,且无编译错误。模型缺失会导致视图无法绑定内容,引发404。 - 排查自定义路由:若项目使用了自定义路由规则,确认规则未拦截Umbraco默认的内容路由,避免正常页面被错误拦截。
二、后台富文本编辑器异常排查
- 校验style_formats配置:将appsettings中
RichTextEditor.CustomConfig.style_formats的JSON字符串复制出来,去除转义符后用JSON校验工具检查格式是否合法(比如括号、引号是否匹配)。格式错误会导致TinyMCE加载失败。 - 检查控制台错误:打开后台富文本编辑器页面时,打开浏览器开发者工具的Console标签,查看是否有TinyMCE资源加载失败(如404、CORS错误),静态资源权限或缓存问题可能导致此异常。
- 临时关闭内容清理:将
Umbraco.CMS.Global.SanitizeTinyMce设为false,测试富文本编辑器是否恢复正常。若恢复,说明是内容清理规则过滤了自定义样式,需调整sanitize规则。
三、appsettings.json相关日志异常排查
- 验证配置结构:对照Umbraco配置规范,检查节点层级是否正确。比如
Unattended配置在生产环境建议关闭(InstallUnattended: false),Hosting.Debug在生产环境需设为false,避免安全风险及性能问题。 - 核对环境变量:Azure门户配置的数据库连接字符串名称需为
ConnectionStrings__umbracoDbDSN(双下划线分隔层级),确保环境变量未与appsettings中的配置冲突。 - 查看详细日志:在Azure Web App的Log Stream中查看具体错误信息,定位到引发异常的配置项(比如
MainDomLock或Examine配置是否适配Azure环境)。
四、Azure部署特殊配置调整
- 修改临时存储位置:将
Umbraco.CMS.Hosting.LocalTempStorageLocation从EnvironmentTemp改为FileSystem,避免Azure临时存储的权限或生命周期限制导致文件读写问题。 - 升级应用服务计划:若使用免费/共享计划,升级到基本或以上层级,避免资源限制导致索引重建、文件写入等操作失败。
- 确认部署完整性:检查部署过程中是否遗漏了
Views、wwwroot静态资源、Models等目录,Zip部署或CI/CD流程需确保所有必要文件都已上传。
内容的提问来源于stack exchange,提问作者am0031
相关产品推荐
相关产品推荐

