Publicar um site feito usando o ASP.NET MVC no servidor IIS não é tão simples como apenas copiar os arquivos, algumas configurações são necessárias:
1) Dentro do IIS abra as propriedades no seu site e na aba Home Directory, clique no botão Configuration. Dentro de Application Extensions, selecione a extensão .aspx e clique em Edit. Copie o conteúdo da caixa Executable como na figura abaixo e clique em Cancel.
2) Clique no botão INSERT e cole o texto na caixa Executable e desmarque a opção Verify that file exists como na figura abaixo.
3) Por último temos que “adicionar uma extensão” para as urls já que o IIS 6 exite que exista uma extensão. O jeito mais fácil de fazer é isso dentro do Global.asax.cs. Altere a rota padrão e suas outras rotas para que fiquem assim:
1 2 3 4 5 6 | public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute("Default", "{controller}.mvc/{action}/{id}", new {action = "Index", id = ""}); } |
Veja que depois do controller adicionei a extensão .mvc, agora todas as rotas funcionarão com o caminho /controler.mvc/action. É importante que para isso não existam urls fixas em suas páginas, apenas urls criadas usando os html helpers.