Как сделать redirect 301 в ASP.NET MVC - CodeHelper

Как сделать redirect 301 в ASP.NET MVC

2

Как правильнее сделать постоянное постоянное перенаправление (301 Moved permanently)? То есть какой ActionResult нужно вернуть из метода контроллера?

Новые ответы

Новые Лучшие

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();
    }
}

v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.