У меня есть начальный проект AngularJS, и я добавил
$locationProvider.html5Mode(true).hashPrefix('!');
в файл app.js. Я хочу настроить IIS 7 для маршрутизации всех запросов в
http://localhost/app/index.html
так что это работает для меня. Как мне это сделать?
Обновить:
Я только что обнаружил, загрузил и установил модуль IIS URL Rewrite , надеясь, что это упростит и упростит достижение моей цели.
Обновление 2 :
Я думаю, это суммирует то, что я пытаюсь достичь (взято из документации разработчика AngularJS ):
Использование этого режима требует перезаписи URL на стороне сервера, в основном вам нужно переписать все свои ссылки на точку входа вашего приложения (например, index.html)
Обновление 3:
Я все еще работаю над этим, и я понимаю, что мне НЕ нужно перенаправлять (иметь правила, которые переписывают) определенные URL-адреса, такие как
http://localhost/app/lib/angular/angular.js
http://localhost/app/partials/partial1.html
поэтому все, что находится в каталогах css, js, lib или partials, не перенаправляется. Все остальное нужно будет перенаправить в app / index.html
Кто-нибудь знает, как легко добиться этого, не добавляя правила для каждого файла?
Обновление 4:
У меня есть 2 правила для входящих подключений, определенных в модуле перезаписи URL-адресов IIS. Первое правило:
Второе правило:
Теперь, когда я перехожу к localhost / app / view1, он загружает страницу, однако вспомогательные файлы (те, что находятся в каталогах css, js, lib и partials) также переписываются на страницу app / index.html - так что все идет обратно в качестве страницы index.html независимо от того, какой URL используется. Полагаю, это означает, что мое первое правило, которое должно предотвращать обработку этих URL-адресов вторым правилом, не работает ... какие-нибудь идеи? ...кто угодно? ...Мне так одиноко... :-(