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

ASP.NET Core 6部署IIS后路由跳转出现HTTP 404.0错误求助

ASP.NET Core 6 MVC IIS部署路由404问题排查方案

1. 确认ASP.NET Core宿主组件安装状态

  • 检查IIS是否安装ASP.NET Core Hosting Bundle(对应.NET 6版本),这是IIS托管ASP.NET Core应用的必需组件。未安装则下载对应版本安装,完成后重启IIS。
  • 验证模块:打开IIS管理器 → 服务器节点 → 功能视图 → 查看“模块”,确认存在AspNetCoreModuleV2。

2. 检查应用程序池核心配置

  • 确保应用程序池的**.NET CLR版本**设置为无托管代码,ASP.NET Core应用为自托管模式,无需依赖IIS的托管CLR。
  • 验证应用程序池标识权限:确保所选标识(如ApplicationPoolIdentity)对网站根目录拥有读取权限。

3. 检查网站Handler Mappings设置

  • 打开IIS管理器 → 目标网站 → 功能视图 → “Handler Mappings”,确认存在AspNetCore映射:请求路径为*,模块为AspNetCoreModuleV2。
  • 若缺失该映射,手动添加:点击“添加模块映射”,请求路径填*,模块选AspNetCoreModuleV2,名称设为AspNetCore,确认保存。

4. 验证项目发布与启动配置

  • 确认项目发布时选择**“Framework-dependent”**部署模式(独立部署需确保对应运行时环境匹配),且发布目录指向IIS网站根目录。
  • 检查launchSettings.json中的IIS配置,确保applicationUrl路径正确,示例配置:
    "iisSettings": {
      "windowsAuthentication": false,
      "anonymousAuthentication": true,
      "iis": {
        "applicationUrl": "http://你的站点域名或IP",
        "sslPort": 0
      }
    }
    

5. 确认项目路由注册正确性

  • 检查Program.cs中的路由注册代码,确保MVC路由规则正确配置:
    var builder = WebApplication.CreateBuilder(args);
    // 注册MVC服务
    builder.Services.AddControllersWithViews();
    var app = builder.Build();
    
    app.UseRouting();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
    });
    app.Run();
    
  • 确认“Borsa”按钮对应的控制器、Action存在,且视图文件位于正确目录(Views/Borsa/Index.cshtml)。

6. 启用IIS日志定位问题

  • 开启网站日志记录,查看404请求的完整路径,确认请求URL是否与项目路由规则匹配。日志默认路径为C:\inetpub\logs\LogFiles\W3SVC{站点ID}。

7. 重启服务生效配置

  • 完成上述配置后,先重启对应应用程序池,再执行命令iisreset重启IIS服务,确保所有配置生效。

内容的提问来源于stack exchange,提问作者Joseph francisco Cubas Ballon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 14:32:04