Pergunta

Como faço para redirecionar permanentemente no ASP DOT NET? Eu gostaria de fazer um redirecionamento 301 de uma página no meu site para outra página.

Foi útil?

Solução

protected void Page_PreInit(object sender, EventArgs e)
{
    Response.StatusCode = 301;
    Response.StatusDescription = "Moved Permanently";
    Response.RedirectLocation = "AnotherPage.aspx";
    HttpContext.Current.ApplicationInstance.CompleteRequest();
}

E em 4.0, há um HttpResponse.RedirectPermanent() método simples que faz tudo acima para você:

Response.RedirectPermanent("AnotherPage.aspx");

Outras dicas

ASP.NET 4.0 Beta 1 tem um Response.RedirectPermanent () método para fazer 301 redirecionamentos, por exemplo,

Response.RedirectPermanent("AnotherPage.aspx");

A partir da ASP.NET 4.0 e Visual Studio 2010 Desenvolvimento Web Beta 1 Resumo papel branco:

É prática comum na Web aplicações para páginas mover e outra em torno do conteúdo ao longo do tempo, o que pode levar a uma acumulação de links obsoletos nos motores de busca. Em ASP.NET, desenvolvedores têm tradicionalmente tratada solicitações para URLs antigo usando usando o método para Response encaminhar uma solicitação para o novo URL. No entanto, as questões método de redirecionamento de um HTTP 302 Encontrado (redireccionamento temporário) resposta, o que resulta em um extra HTTP de ida e volta quando os usuários tentarem acessar as URLs antigas.

ASP.NET 4.0 adiciona um novo método auxiliar RedirectPermanent que faz com que seja fácil de HTTP questão 301 Moved Permanentemente respostas.

Tenha um olhar aqui

Response.Redirect lhe dará um 302 em vez de um 301.

Response.Redirect

EDIT: Meu ruim, eu descaracterizou a pergunta. A culpa é do tempo:)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top