Asp.net перенаправить на другой сайт - PullRequest
1 голос
/ 03 июля 2019

В нашем проекте мы используем MapPageRoute

public static class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            var settings = new FriendlyUrlSettings();
            settings.AutoRedirectMode = RedirectMode.Permanent;
            routes.EnableFriendlyUrls(settings);


            routes.IgnoreRoute("{*alljs}", new { allaspx = @".*\.js(/.*)?" });

            routes.MapPageRoute("Landing", "landing/{state}/{city}", "~/landing_test.aspx");
            routes.MapPageRoute("Cremation", "cremation-services", "~/cremations.aspx");
            routes.MapPageRoute("FAQ", "funeral-planning-faq", "~/FAQ.aspx");
            routes.MapPageRoute("Homes", "funeral-homes/{state}/{city}/{id}", "~/viewHome.aspx");
            routes.MapPageRoute("CitySearch", "search/{state}/{city}", "~/areaHomeLists.aspx");
            routes.MapPageRoute("BlankSearch", "search", "~/areaHomeLists.aspx");
            routes.MapPageRoute("About", "about", "~/about.aspx");
        }
    }

Мне нужно перенаправить на другой сайт с кодом 301, когда пользователь на странице О нас.

Я попытался изменить MapPageRoute на MapRoute, и я создал RedirectController, но он не работает для меня (или я не понимаю, как он работает)

routes.MapRoute("About", "about.aspx", new {controller = "Redirect", action = "FAQ"});

public class RedirectController : Controller
    {
        public ActionResult Blog()
        {
            return RedirectPermanent("FAQ");
        }
    }

1 Ответ

0 голосов
/ 03 июля 2019

Я добавил правило в web.config и теперь оно работает

<rule name="About reditect" stopProcessing="true">
  <match url="about*" />
  <action type="Redirect" url="https://www.google.com" redirectType="Permanent" />
</rule>
...