ASP.Net MVC - Trapping certos URLs para fazer 301 Redirect
-
22-07-2019 - |
Pergunta
Eu estou movendo-se de um design do site antigo para um novo projeto com a nova URL.
Todos os nomes de páginas anteriores foram arquivos estáticos chamados PageXX.html, PageX.html, Index.html - onde X é um número
.Meu site é agora dinâmico, mas eu quero armadilha para aqueles 3 URL de entrada do e, em seguida, tentar e redirecionamento para uma determinada página nova (301 Redirect) else enviá-los para a página inicial.
eu faço tudo isso em Global.asax ou eu só armadilha aqueles Url do no Global.asax e, em seguida, encaminhá-lo para uma ação e fazer um redirecionamento 301 em Acção?
Qualquer exemplos de código ajudaria muito!
Graças
EDIT: Acho que o que precisa ser feito é prender as rotas no Global.asax e, em seguida, enviá-los para uma acção que vai trabalhar fora para onde enviar o usuário ie. uma página semelhante no novo site o mais vou enviar para a página inicial.
Solução
Isso mesmo, apenas fazê-lo em sua configuração de rotas (geralmente no global). Você pode configurá-los como casos especiais estáticos.
routes.MapRoute("Page3",
"SomeURL/Page3.html",
new {
controller = "SomeController",
action = "SomeAction",
page = "2"
});
Outras dicas
Para páginas PageXX.html, PageX.html, index.html você pode fazer a correspondência regular, baseada em expressão também. Isso vai permitir-lhe manter a coisa toda com um mapeamento de rota única.