我认为你的问题类似于 非地区航线问题 ,这需要使用area参数来防止在使用默认路由时插入区域URL前缀:
public override void RegisterArea(AreaRegistrationContext context) { // set area parameter with area name context.MapRoute( name: "BoBPolicy_default", url: "Policy/{controller}/{action}/{id}", // add area parameter here defaults: new { area = "Policy", controller = "Home", action = "Index", id = UrlParameter.Optional }, namespaces: new string[] { "BoB.Areas.BoBPolicy.Controllers" } ); }
注意:由于区域路径注册始终位于默认路由之上(读取 这个答案 由于其背后的原因,当未指定区域路径约束时,路由引擎可能错误地将默认路由请求拾取到区域路由中。
有关:
MVC5路由当输入站点的根URL时,转到特定的区域视图