Eu tenho o projeto de semente AngularJS e adicionei
$locationProvider.html5Mode(true).hashPrefix('!');
para o arquivo app.js. Quero configurar o IIS 7 para rotear todas as solicitações para
http://localhost/app/index.html
para que isso funcione para mim. Como eu faço isso?
Atualizar:
Acabei de descobrir, fazer o download e instalar o módulo IIS Rewrite URL , esperando que isso torne fácil e óbvio alcançar meu objetivo.
Atualização 2 :
Eu acho que isso resume o que estou tentando alcançar (extraído da documentação do AngularJS Developer ):
O uso desse modo requer a reescrita de URL no servidor, basicamente você precisa reescrever todos os seus links no ponto de entrada do seu aplicativo (por exemplo, index.html)
Atualização 3:
Ainda estou trabalhando nisso e sei que NÃO preciso redirecionar (ter regras que reescrevam) certos URLs, como
http://localhost/app/lib/angular/angular.js
http://localhost/app/partials/partial1.html
portanto, qualquer coisa que esteja nos diretórios css, js, lib ou parcials não é redirecionada. Todo o resto precisará ser redirecionado para app / index.html
Alguém sabe como conseguir isso facilmente, sem precisar adicionar uma regra para cada arquivo?
Atualização 4:
Eu tenho duas regras de entrada definidas no módulo IIS Rewrite URL. A primeira regra é:
A segunda regra é:
Agora, quando eu navego para localhost / app / view1, ele carrega a página, mas os arquivos de suporte (os diretórios css, js, lib e parcials) também estão sendo reescritos na página app / index.html - para que tudo esteja chegando de volta como a página index.html, independentemente do URL usado. Eu acho que isso significa que minha primeira regra, que deve impedir que esses URLs sejam processados pela segunda regra, não está funcionando ... alguma idéia? ...qualquer um? ...Eu me sinto tão sozinho... :-(
app/index.html
e não app/
acionar explicitamente a página que serve o AngularJS. eu perdi 2 horas da minha vida antes de descobrir. :-)