Asp.net mvc 2 当站点位于IIS子文件夹中时,MVC2自定义路由中断
因此,我在mysite中实现了自定义路由Asp.net mvc 2 当站点位于IIS子文件夹中时,MVC2自定义路由中断,asp.net-mvc-2,windows-server-2008,iis-7.5,asp.net-mvc-routing,Asp.net Mvc 2,Windows Server 2008,Iis 7.5,Asp.net Mvc Routing,因此,我在mysite中实现了自定义路由 routes.MapRoute( "WithFriendlyNameOnly", "{friendlyName}", new { controller = "Home", action = "Redirect", friendlyName = String.Empty, id = UrlParameter.Optional }, new { friendlyName = new MustBeFriendlyName() }
routes.MapRoute(
"WithFriendlyNameOnly",
"{friendlyName}",
new { controller = "Home", action = "Redirect", friendlyName = String.Empty, id = UrlParameter.Optional },
new { friendlyName = new MustBeFriendlyName() }
);
routes.MapRoute(
"WithFriendlyNameDefault",
"{friendlyName}/{controller}",
new { controller = "Home", action = "Index", friendlyName = String.Empty, id = UrlParameter.Optional },
new { friendlyName = new MustBeFriendlyName() }
);
routes.MapRoute(
"WithFriendlyName",
"{friendlyName}/{controller}/{action}/{id}",
new { controller = "Home", action = "Redirect", friendlyName = String.Empty, id = UrlParameter.Optional },
new { friendlyName = new MustBeFriendlyName() }
);
routes.MapRoute(
"DefaultWithRule", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new { controller = new MustNotRequireFriendlyName() }
);
这在当地很管用。我使用友好的名称来确定您在站点中的上下文。没有它,我只给你404页
我的测试环境是Windows 2008服务器(IIS 7.5),我的应用程序位于如下子文件夹中:test.mydomain.com/mysite。在我创建这个新的自定义url之前,一切都很好,所以我很确定它不是IIS或服务器。但是,我的自定义路线根本不起作用。我的常规路线工作得很好-像主页,一些信息页面等。它只是与我的自定义路由页面。我做错了什么?您是否尝试过在开始时切换路线,使其更加具体?这对我有用 还可以尝试以下调试器: 非常有帮助