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

ASP.NET Core 6 MVC使用特性路由运行时遇HTTP 404错误求助

解决ASP.NET Core 6 MVC重定向与404问题

方案1:通过端点配置添加默认重定向

在Startup.cs的Configure方法中,保留原有的特性路由映射,同时添加根路径重定向规则:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // 其他中间件配置(如静态文件、异常处理等)
    
    app.UseRouting();

    app.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        // 保留特性路由支持
        endpoints.MapControllers();
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
        
        // 根路径直接重定向到目标地址
        endpoints.MapGet("/", context =>
        {
            context.Response.Redirect("/client/dashboard");
            return Task.CompletedTask;
        });
    });
}

方案2:在HomeController中添加默认重定向方法

保留原IndexAsync方法的特性路由,新增一个无路由特性的默认Index方法处理根路径请求:

public class HomeController : Controller
{
    // 保留原特性路由方法
    [HttpGet]
    [Route("/User/Dashboard")]
    public async Task<IActionResult> IndexAsync()
    {
        // 原有业务逻辑
        return View();
    }

    // 根路径重定向处理
    public IActionResult Index()
    {
        return Redirect("/client/dashboard");
    }
}

方案3:使用URL重写中间件(全局规则)

若需要更灵活的路由规则,可添加URL重写中间件实现全局重定向:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // 其他中间件配置
    
    // 配置重写规则:匹配根路径并重定向
    var rewriteOptions = new RewriteOptions()
        .AddRedirect("^$", "/client/dashboard");
    
    app.UseRewriter(rewriteOptions);

    app.UseRouting();

    app.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
    });
}

注意事项

  • 确保/client/dashboard对应的控制器方法已正确配置路由,避免触发新的404错误。
  • 若项目使用ASP.NET Core 6顶级语句(Program.cs替代Startup.cs),将上述代码迁移到Program.cs的中间件配置段即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 05:46:00