Как правильнее сделать постоянное постоянное перенаправление (301 Moved permanently)? То есть какой ActionResult
нужно вернуть из метода контроллера?
Как сделать redirect 301 в ASP.NET MVC
2
Новые ответы
Новые
Лучшие
2
Стандартный класс RedirectResult
и соответствующий метод Redirect контроллера не подойдут, потому что они осуществляют врЕменное перенаправление с кодом 302. Лучший вариант — создать собственный класс, унаследованный от ActionResult
.
public class PermanentRedirectResult : ActionResult
{
public string Location { get; set; }
public PermanentRedirectResult(string location)
{
Location = location;
}
public override void ExecuteResult(ControllerContext context)
{
context.HttpContext.Response.StatusCode = 301;
context.HttpContext.Response.RedirectLocation = Location;
context.HttpContext.Response.End();
}
}