我的网站是私有测试版,现在我需要从beta / *重定向到/ *。 怎样才能在ASP.NET MVC中完成?
由于 * =一切
答案 0 :(得分:2)
一种方法是设置一个通配符路由,该路由将采用任何带有beta的路由并将其发送到一个操作,然后将您重定向到正确的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 :(得分:1)
为您重写handled by IIS可能更好。如果应用程序处于测试模式,应该不应该“知道”。
答案 2 :(得分:0)
您可以通过定义新路线并使用IRouteHandler
来处理重定向来实现此目的。
请参阅Phil Haack的博客:http://haacked.com/archive/2008/12/15/redirect-routes-and-other-fun-with-routing-and-lambdas.aspx