You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 6 根路径无法自动加载index.html 需手动输入完整路径是什么原因?

问题原因

这不是.NET 6的已知问题,是你遗漏了默认文件中间件的配置:UseStaticFiles仅负责提供静态文件的访问能力,不会自动处理根路径到默认首页的映射,需要额外配置UseDefaultFiles中间件实现该功能。

解决方案

修改Program.cs配置,在UseStaticFiles之前添加app.UseDefaultFiles()即可,调整后的完整配置如下:

app.UseSwagger();
app.UseSwaggerUI();    
app.UseHttpsRedirection();    

// 新增默认文件中间件,必须放在UseStaticFiles之前
app.UseDefaultFiles();
app.UseStaticFiles();    

app.UseAuthorization();    
app.MapControllers();    
app.Run();

补充说明

UseDefaultFiles默认会按优先级检索以下文件作为站点默认首页:

  • default.htm
  • default.html
  • index.htm
  • index.html
    完全匹配你存放在wwwroot下的index.html文件,配置后访问站点根路径会自动加载该文件。
    如果你需要自定义默认首页文件名,可通过传入参数实现,示例如下:
var defaultFileOpts = new DefaultFilesOptions();
// 清空默认规则
defaultFileOpts.DefaultFileNames.Clear();
// 新增自定义默认首页
defaultFileOpts.DefaultFileNames.Add("custom-landing.html");
app.UseDefaultFiles(defaultFileOpts);

内容的提问来源于stack exchange,提问作者Jay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 04:24:06