在Blazor WebAssembly应用程序中添加以下中间件:
app.Use(async (context, next) =>
{
await next();
// 如果请求是一个文件端点
if (context.Response.StatusCode == 404 &&
!Path.HasExtension(context.Request.Path.Value))
{
context.Request.Path = "/index.html";
context.Response.StatusCode = 200;
await next();
}
});
app.UseBlazorFrameworkFiles();
这将使Blazor显示“index.html”页面而不是“未找到”页面。请注意,这仅适用于WebAssembly应用程序,因为在服务器端,Blazor Server已经处理了此问题。