Como posso enviar um Permanente Redirect 301 com ASP.NET?
-
23-08-2019 - |
Pergunta
Eu preciso redirecionamento permanente algumas páginas, e redirecionar o usuário para o novo URL também.
Este código define apenas os cabeçalhos corretos. O usuário não for reencaminhado.
public static void PermanentRedirect(this HttpResponse response, string newUrl)
{
response.Status = "301 Moved Permanently";
response.StatusCode = 301;
response.AddHeader("Location", newUrl);
}
Se eu colocar:
Response.Redirect(newUrl);
no final, é realizada uma temporária 302 de redireccionamento.
Como posso 301 redirecionar o usuário?
Questões relacionadas:
Como eu programaticamente redirecionamento 301 em um asp página
Solução
Tente Response.Flush e Response.End. Redirect diz para terminar o pedido através do envio de um 302.
Outras dicas
Nota no ASP.NET 4.0 isso agora é built-in para que você possa usar o RedirectPermanent () método . por exemplo.
RedirectPermanent("/newpath/foroldcontent.aspx");
ou talvez tentar ISAPI? que imita mod_rewrite e outras funcionalidades .htaccess no IIS.