您可以在路由的末尾使用catchall,该catchall指向执行重定向的方法,例如
this source
:
public class PermanentRedirectResult : ActionResult
{
public string Url;
public override void ExecuteResult(ControllerContext context)
{
context.HttpContext.Response.StatusCode = 301;
context.HttpContext.Response.RedirectLocation = this.Url;
context.HttpContext.Response.End();
}
}
这里有一个(首选)选项,您可以在其中指定状态代码。
public class RedirectWithStatusCodeResult : ActionResult
{
public HttpStatusCode StatusCode { get; set; }
public string Url { get; set; }
public override void ExecuteResult(ControllerContext context)
{
context.HttpContext.Response.StatusCode = (int)this.StatusCode;
context.HttpContext.Response.RedirectLocation = this.Url;
context.HttpContext.Response.End();
}
}