我在理解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禁止。我知道这是一个新手问题,但我错过了什么?它不应该默认为索引控制器吗?
答案 0 :(得分:3)
如果您使用默认的Asp.Net MVC5项目模板,那么项目中已经存在一个名为content的物理文件夹,并且扩展名为站点的根目录。
如果您尝试浏览到内容文件夹,IIS将为您提供该错误。请求不会到达路由表。
考虑重命名文件夹或控制器。根据项目的要求,每个人都会有自己的效果。
答案 1 :(得分:0)
转到项目属性,选择网络标签更改特定页面