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

如何配置Windows上的ASP.NET Core Kestrel服务器使其区分大小写?

如何配置Windows上的Kestrel使其区分大小写

当然可以!要让Windows上的Kestrel和Linux环境一样对文件引用区分大小写,帮你提前揪出那些在Windows开发环境中隐藏的大小写错误,有两种实用的配置方式:

方法一:通过appsettings.json配置

直接在你的appsettings.json文件中添加配置,开启静态文件的大小写敏感检查:

{
  "WebRootFileProvider": {
    "EnableDefaultCaseSensitivity": true
  }
}

这种方式不需要修改代码,只需要调整配置文件,适合快速测试场景。

方法二:通过Program.cs代码配置

如果你希望更灵活地控制配置逻辑,可以在Program.cs中直接对Kestrel的静态文件提供器进行设置:

var builder = WebApplication.CreateBuilder(args);

// 配置静态文件提供器为大小写敏感
builder.WebHost.ConfigureKestrel(options =>
{
    options.ConfigureStaticFiles(staticFilesOpts =>
    {
        staticFilesOpts.FileProvider = new PhysicalFileProvider(
            Path.Combine(Directory.GetCurrentDirectory(), "wwwroot"),
            ExclusionFilters.Sensitive
        )
        {
            CaseSensitive = true
        };
    });
});

// 注册其他服务...

var app = builder.Build();

// 启用静态文件中间件
app.UseStaticFiles();

// 配置其他中间件和路由...

app.Run();

配置完成后,当你在Windows上运行应用时,如果CSS、JS等静态文件的引用大小写和实际文件名不匹配,Kestrel会直接返回404错误,和Linux服务器上的表现完全一致。这样你就能在开发阶段就排查并修复这些问题,避免部署到Linux后出现故障。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:40:47