/ / Як перенаправити бета / * на / *? - asp.net-mvc, asp.net-mvc-3, iis, iis-7, web-config

Як перенаправити бета / * до / *? - asp.net-mvc, asp.net-mvc-3, iis, iis-7, web-config

У мене є сайт у приватній бета-версії, і тепер мені потрібно перенаправлятись з beta / * на / *. Як це можна зробити в ASP.NET MVC?

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

Відповіді:

2 для відповіді № 1

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

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

Потім у контролері Beta виконайте переадресацію:

public ActionResult Index(string url)
{
return Redirect("/" + url);
}

1 для відповіді № 2

Напевно, краще переписати обробляється IIS для вас. Програма не повинна «знати», перебуває вона в бета-режимі чи ні.


0 для відповіді № 3

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

Дивіться про це блог Філа Хакка: http://haacked.com/archive/2008/12/15/redirect-routes-and-other-fun-with-routing-and-lambdas.aspx