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

ASP.NET Core MVC如何修改默认启动URL为localhost:5000/index

ASP.NET Core 3.1 MVC 修改默认启动URL实现方案

前置说明

你已经给HomeController的Index方法单独加了[Route("Index")]特性路由,只要不给整个HomeController加控制器级别的路由特性,其余未加特性的Action(比如Login)会默认走传统路由规则,天然支持/home/login路径访问,不需要额外修改。

步骤1:修改默认启动URL

有两种修改方式,按需选择即可:

方式一:修改本地调试启动配置(仅本地调试生效)

  1. 打开项目根目录下Properties文件夹中的launchSettings.json文件
  2. 找到你正在使用的启动配置节点(一般是对应项目名的节点,或者IIS Express节点),将launchUrl字段的值从home/index改为Index
    示例配置片段:
"profiles": {
  "你的项目名称": {
    "commandName": "Project",
    "dotnetRunMessages": true,
    "launchBrowser": true,
    "launchUrl": "Index", // 仅修改该行即可
    "applicationUrl": "https://localhost:5001;http://localhost:5000",
    "environmentVariables": {
      "ASPNETCORE_ENVIRONMENT": "Development"
    }
  }
}

方式二:修改全局路由规则(生产环境也生效)

如果需要部署后访问根域名localhost:5000时自动跳转到/index,可以修改Startup.cs的路由配置:

  1. 打开Startup.cs文件,找到Configure方法中的UseEndpoints配置块
  2. 保留原有默认路由规则,新增根路径重定向规则即可,示例:
app.UseEndpoints(endpoints =>
{
    // 保留原有默认路由,保证/home/login等传统路径可访问
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    
    // 新增根路径跳转规则,访问根域名时自动跳转到/index
    endpoints.MapGet("/", async context =>
    {
        context.Response.Redirect("/Index");
        await Task.CompletedTask;
    });
});

可选补充

如果需要同时支持/home/index路径也能访问到Index页面,只需要给Index方法再加一个路由特性即可:

[Route("Index")]
[Route("Home/Index")] // 新增该行
public IActionResult Index()
{
    return View();
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:39:01