Como fazer 301 redirecionamentos em asp.net de URLs antigas estilo mod_rewrite do Apache quando se deslocam de um site de php para asp.net?
-
21-08-2019 - |
Pergunta
Eu tenho um site existente em PHP em execução no Apache usando o plug-in mod_rewrite. Em outras palavras, eu tenho atualmente urls como www.example.com/section/subsection/ que o Google e outros têm indexados.
No entanto, o site precisa de uma grande atualização, e eu gostaria de movê-lo para asp.net. Eu só tenho a opção de usar uma solução de hospedagem compartilhada (IIS 6, aps.net 3.5, confiança total). Então, minha pergunta: Como posso fazer asp.net fazer um redirecionamento 301 de meus velhos urls como www.example.com/section/subsection/ para os seus entes equivalentes sobre o novo site asp.net
?Eu, obviamente, precisa deste para não perder os rankings atuais nos motores de busca.
Obrigado, Egil.
Solução 3
De acordo com o post no blog de Steve Sanderson Implantação ASP.NET MVC para IIS 6 que não parece haver uma opção para fazer url reescrever / redirecionamento com IIS6 em uma hospedagem compartilhada configurado, onde você não pode manualmente configurar o IIS. Gah ...
Outras dicas
Se você usar o framework ASP.NET MVC que tem um sistema de reescrita de URL incorporada.
Você pode adicionar manualmente 301 redirecionamentos em IIS usando o Gerenciador de IIS se você deseja configurar "movido" locais.
Se você quer fazer URL re-escrever, então você vai precisar para implementar IHttpModule, ligar o evento BeginRequest, e adicione essa nova classe para a seção httpModules em Web.config.
Ok ... então isso pode ser um exagero e poderia ser feito de outra maneira em dois lines..BUT ...
Se você está mantendo o mesmo nome de domínio, em seguida, o que eu fiz no passado é manter uma tabela de URLs antigos e como eles são mapeados para novas urls. A pedido do aplicativo, vou examinar a tabela, se um url velho é encontrado então eu vou adicionar um cabeçalho que faz um redirecionamento 301 para o novo URL.