小写路由并排除索引

时间:2014-07-16 15:09:41

标签: c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing

我正在使用asp.net mvc 4并且在路由方面存在一些问题。

  • 如何确保网站上通过网址等生成的所有路由均为小写?我设置了RouteTable.Routes.LowercaseUrls = true;,但网址仍然以大写字母等生成。我错过了什么吗?

  • 我想调整我的路线,以便我不再拥有/ Home / About / Index to / Home / About - 以便在生成路线时删除索引 - 如何做到这一点。

最后,这是我的路线配置。

RouteTable.Routes.MapRoute("MyRoute", "home/{action}", 
    new { controller = "About" });

1 个答案:

答案 0 :(得分:1)

当我不在IIS中使用UrlRewrite处理小写路由时,我会使用类似的东西

安装此NuGet包:http://lowercaseroutesmvc.codeplex.com/

using LowercaseRoutesMVC
 ...

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

   routes.MapRouteLowercase( // changed from routes.MapRoute
       "Default",
       "{controller}/{action}/{id}",
       new { controller = "Home", action = "Index", id = UrlParameter.Optional }
   );
}

检查此SO帖子上接受的答案,描述UrlRewrite小写网址IIS URL rewrite module url's to lowercase