Как я могу изменить конфигурацию маршрута на пользовательский маршрут? - PullRequest
1 голос
/ 05 октября 2019

Я пытался изменить и оптимизировать URL моего сайта для оптимизированного для SEO URL. Я имею в виду, что я изменяю URL как ~ / Home / Contact на ~ / contact и т. Д. Я также изменяю URL ~ / Home / Index на ~ / 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 на мой новый URL, дружественный SEO,Я также не хочу потерять свой шаблон URL mvc

1 Ответ

0 голосов
/ 05 октября 2019

Вы можете использовать этот класс в папке App_Start:

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.

...