部署于Azure静态Web应用的Blazor WASM出现页面未找到错误求助
Blazor WASM Azure静态Web Apps中/privacy页面404错误的解决办法
核心原因:SPA路由重写未配置
Blazor WASM是单页应用,所有客户端路由需要指向index.html,由Blazor客户端路由器处理。本地开发服务器自动处理了路由重写,但Azure静态Web Apps默认不会做这个,直接访问/privacy这类客户端路由时,Azure会返回自带的404页面,而不是交给Blazor应用处理。
解决步骤
1. 添加静态Web Apps路由配置文件
在项目根目录创建staticwebapp.config.json,写入以下内容:
{ "routes": [ { "route": "/*", "serve": "/index.html", "statusCode": 200 } ] }
这个配置会让所有请求都返回index.html,确保Blazor能接管路由逻辑,正确渲染/privacy页面。
2. 确认新页面已部署
检查Azure静态Web Apps的部署日志,确认最新部署包含了新增的Privacy.razor文件。如果CI/CD流程没有检测到文件变更,可能需要手动触发重新部署。
3. 确保页面允许匿名访问(可选)
虽然Blazor页面默认允许匿名,但如果你的应用有全局授权配置,需在Privacy.razor顶部显式添加允许匿名的属性:
@page "/privacy" @attribute [AllowAnonymous] <h3>Privacy Policy</h3> <!-- 页面内容 -->
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

