Ric*_*ich 8 asp.net asp.net-mvc redirect routes http-status-code-301
如何在ASP.NET MVC中执行HTTP 301永久重定向路由?
创建一个继承自ActionResult的类...
public class PermanentRedirectResult : ActionResult
{
public string Url { get; set; }
public PermanentRedirectResult(string url)
{
this.Url = url;
}
public override void ExecuteResult(ControllerContext context)
{
context.HttpContext.Response.StatusCode = (int)HttpStatusCode.MovedPermanently;
context.HttpContext.Response.RedirectLocation = this.Url;
context.HttpContext.Response.End();
}
}
然后用它......
public ActionResult Action1()
{
return new PermanentRedirectResult("http://stackoverflow.com");
}
一个更完整的答案将重定向到路由... 更正301重定向的控制器代码
您需要 301 重定向,302 是临时的,301 是永久的。在这个例子中,context是 HttpContext:
context.Response.Status = "301 Moved Permanently";
context.Response.StatusCode = 301;
context.Response.AppendHeader("Location", nawPathPathGoesHere);
Run Code Online (Sandbox Code Playgroud)