ASP.NET - перенаправление 301 - PullRequest
15 голосов
/ 07 марта 2009

Как мне перенаправить навсегда в ASP DOT NET? Я бы хотел сделать редирект 301 с одной страницы моего сайта на другую.

Ответы [ 4 ]

36 голосов
/ 07 марта 2009
protected void Page_PreInit(object sender, EventArgs e)
{
    Response.StatusCode = 301;
    Response.StatusDescription = "Moved Permanently";
    Response.RedirectLocation = "AnotherPage.aspx";
    HttpContext.Current.ApplicationInstance.CompleteRequest();
}

А в 4.0 есть простой HttpResponse.RedirectPermanent() метод, который делает все для вас выше:

Response.RedirectPermanent("AnotherPage.aspx");
14 голосов
/ 20 марта 2009

ASP.NET 4.0 Beta 1 имеет Response.RedirectPermanent () метод для выполнения 301 переадресации, например,

Response.RedirectPermanent("AnotherPage.aspx");

Из Обзор бета-версии 1 веб-разработки ASP.NET 4.0 и Visual Studio 2010 официальный документ:

Это обычная практика в Сети приложения для перемещения страниц и др. контент вокруг со временем, который может привести к накоплению устаревших ссылок в поисковых системах. В ASP.NET разработчики традиционно обрабатываются запросы на старые URL-адреса с помощью метод Response.Redirect для переслать запрос на новый URL. Однако метод Redirect выдает HTTP 302 найдено (временное перенаправление) ответ, который приводит к дополнительному HTTP туда и обратно, когда пользователи пытаются получить доступ к старым URL-адресам.

ASP.NET 4.0 добавляет новый RedirectPermanent вспомогательный метод, который облегчает выдачу HTTP 301 Moved Постоянные ответы.

3 голосов
/ 07 марта 2009

Взгляните здесь

Response.Redirect даст вам 302, а не 301.

0 голосов
/ 07 марта 2009

Response.Redirect

РЕДАКТИРОВАТЬ: мой плохо, я неправильно понял вопрос. Во всем виноват :)

...