繁体   English   中英

如何在MVC5中设置默认路由

[英]How to set up default route in MVC5

我在理解MVC5中的默认路由设置时遇到了麻烦。 我在RouteConfig.cs文件中有此代码

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Content",
        url: "content/{action}",
        defaults: new { controller = "Content", action = "Index" }
    );

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}

当我访问www.mydomain.com/content/index它工作正常。 但是,如果我访问www.mydomain/content则会收到错误403.14 Forbidden。 我知道这是一个新手问题,但是我想念的是什么? 它不应该默认为索引控制器吗?

如果您使用的是默认的Asp.Net MVC5项目模板,则该项目中已经存在一个名为content的物理文件夹,并且扩展名为站点的根目录。

如果您尝试浏览到内容文件夹,IIS将给您该错误。 该请求将不会到达路由表。

考虑重命名文件夹或控制器。 每个项目都有自己的影响力,具体取决于项目的要求。

转到项目属性,选择“ Web”选项卡,更改特定页面

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM