如何将路由配置更改为自定义路由?
How Can I change the route config to the custom route?
我尝试将我的网站 URL 更改和优化为 SEO 友好 Url。我的意思是我将 url Like ~/Home/Contact 更改为 ~/contact 等。我也将 ~/Home/Index URL 更改为 ~/home。
当我 运行 我的网站因为我将属性 [Route("~/home")] 添加到我的索引操作应用程序时找不到我的默认路由。
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
我不知道如何将我的 MapRoute 更改为新的 SEO 友好 URL。
我也不想丢失我的 mvc URL 模式
您可以在 App_Start 文件夹中使用此 class:
public static class RoutingConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
#region IgnoreRoutes
routes.IgnoreRoute("Content/{*pathInfo}");
routes.IgnoreRoute("Scripts/{*pathInfo}");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("favicon.ico");
routes.IgnoreRoute("{resource}.ico");
routes.IgnoreRoute("{resource}.png");
routes.IgnoreRoute("{resource}.jpg");
routes.IgnoreRoute("{resource}.gif");
routes.IgnoreRoute("{resource}.txt");
#endregion
routes.LowercaseUrls = true;
routes.MapMvcAttributeRoutes();
// AreaRegistration.RegisterAllAreas();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}",
defaults:
new
{
controller = MVC.Home.Name,
action = MVC.Home.ActionNames.Index,
id = UrlParameter.Optional
},
namespaces: new[] {$"{typeof (RoutingConfig).Namespace}.Controllers"}
);
}
并在 Global.asax.cs
Application_Start
方法中使用它。
RoutingConfig.RegisterRoutes(RouteTable.Routes);
我使用了 T4MVC nuget package
.
我尝试将我的网站 URL 更改和优化为 SEO 友好 Url。我的意思是我将 url Like ~/Home/Contact 更改为 ~/contact 等。我也将 ~/Home/Index URL 更改为 ~/home。
当我 运行 我的网站因为我将属性 [Route("~/home")] 添加到我的索引操作应用程序时找不到我的默认路由。
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
我不知道如何将我的 MapRoute 更改为新的 SEO 友好 URL。 我也不想丢失我的 mvc URL 模式
您可以在 App_Start 文件夹中使用此 class:
public static class RoutingConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
#region IgnoreRoutes
routes.IgnoreRoute("Content/{*pathInfo}");
routes.IgnoreRoute("Scripts/{*pathInfo}");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("favicon.ico");
routes.IgnoreRoute("{resource}.ico");
routes.IgnoreRoute("{resource}.png");
routes.IgnoreRoute("{resource}.jpg");
routes.IgnoreRoute("{resource}.gif");
routes.IgnoreRoute("{resource}.txt");
#endregion
routes.LowercaseUrls = true;
routes.MapMvcAttributeRoutes();
// AreaRegistration.RegisterAllAreas();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}",
defaults:
new
{
controller = MVC.Home.Name,
action = MVC.Home.ActionNames.Index,
id = UrlParameter.Optional
},
namespaces: new[] {$"{typeof (RoutingConfig).Namespace}.Controllers"}
);
}
并在 Global.asax.cs
Application_Start
方法中使用它。
RoutingConfig.RegisterRoutes(RouteTable.Routes);
我使用了 T4MVC nuget package
.