Вопрос

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

Это было полезно?

Решение

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");

Другие советы

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

Response.RedirectPermanent("AnotherPage.aspx");

Из Обзора бета-версии 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   Постоянные ответы.

Посмотрите здесь

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

Response.Redirect

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top