Как перенаправить бета / * в / *? - PullRequest
1 голос
/ 11 июля 2011

У меня есть сайт в закрытой бета-версии, и теперь мне нужно перенаправить из бета / * в / *.Как это можно сделать в ASP.NET MVC?

Спасибо * = все

Ответы [ 3 ]

2 голосов
/ 11 июля 2011

Один из способов - установить маршрутный символ, который будет использовать любой маршрут с бета-версией, и отправить его в действие, которое затем перенаправит вас на правильный URL-адрес:

routes.MapRoute(
                "Beta",  // Route name
                "beta/{*url}", // URL with parameters
                new { controller = "Beta", action = "Index", url= UrlParameter.Optional }
            );

Затем в бета-контроллере выполнитеперенаправление:

public ActionResult Index(string url)
{
   return Redirect("/" + url);
}
1 голос
/ 12 июля 2011

Возможно, лучше, чтобы перезапись была обработана IIS для вас.Приложение не должно знать, находится ли оно в бета-режиме или нет.

0 голосов
/ 11 июля 2011

Вы можете сделать это, определив новый маршрут и используя IRouteHandler для обработки перенаправления.

См. Блог Фила Хаака об этом: http://haacked.com/archive/2008/12/15/redirect-routes-and-other-fun-with-routing-and-lambdas.aspx

...