У мене є сайт у приватній бета-версії, і тепер мені потрібно перенаправлятись з 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