Mam projekt seed AngularJS i dodałem
$locationProvider.html5Mode(true).hashPrefix('!');
do pliku app.js. Chcę skonfigurować usługi IIS 7, aby kierować wszystkie żądania do
http://localhost/app/index.html
aby to działało dla mnie. Jak mam to zrobic?
Aktualizacja:
Właśnie odkryłem, pobrałem i zainstalowałem moduł ponownego zapisywania adresów URL w usługach IIS , mając nadzieję, że dzięki temu osiągnięcie mojego celu będzie łatwe i oczywiste.
Aktualizacja 2 :
To chyba podsumowuje to, co próbuję osiągnąć (zaczerpnięte z dokumentacji programisty AngularJS ):
Korzystanie z tego trybu wymaga przepisywania adresu URL po stronie serwera, w zasadzie musisz przepisać wszystkie linki do punktu wejścia aplikacji (np. Index.html)
Aktualizacja 3:
Nadal nad tym pracuję i zdaję sobie sprawę, że NIE muszę przekierowywać (mieć reguł, które przepisują) niektórych adresów URL, takich jak
http://localhost/app/lib/angular/angular.js
http://localhost/app/partials/partial1.html
więc wszystko, co znajduje się w katalogach css, js, lib lub częściowych, nie jest przekierowywane. Wszystko inne będzie musiało zostać przekierowane do app / index.html
Czy ktoś wie, jak łatwo to osiągnąć bez konieczności dodawania reguły dla każdego pliku?
Aktualizacja 4:
Mam 2 reguły ruchu przychodzącego zdefiniowane w module ponownego zapisywania adresów URL usług IIS. Pierwsza zasada to:
Druga zasada to:
Teraz, kiedy przechodzę do localhost / app / view1, ładuje stronę, jednak pliki pomocnicze (te w katalogach css, js, lib i częściowe) są również przepisywane na stronę app / index.html - więc wszystko nadchodzi jako strona index.html bez względu na użyty adres URL. Myślę, że oznacza to, że moja pierwsza reguła, która ma zapobiegać przetwarzaniu tych adresów URL przez drugą regułę, nie działa ... jakieś pomysły? ...ktoś? ...Czuję się taki samotny... :-(
app/index.html
a nie app/
jawne jej wyzwalanie. Straciłem 2 godziny życia, zanim to rozgryzłem. :-)