Как настроить IIS для перезаписи URL-адреса приложения AngularJS в режиме HTML5?

У меня есть исходный проект AngularJS , и я добавил

$locationProvider.html5Mode(true).hashPrefix('!');

в файл app.js. Я хочу настроить IIS 7 для маршрутизации всех запросов на

http://localhost/app/index.html

, чтобы это работало для меня. Как мне это сделать?

Обновление:

Я только что обнаружил, загрузил и установил модуль перезаписи URL IIS , надеясь, что это произойдет сделать это легко и очевидно для достижения моей цели.

Обновление 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. Первое правило:

IIS URL Rewrite Inbound Rule 1

Второе правило:

IIS URL Rewrite Inbound Rule 2

Теперь, когда я перемещаюсь в localhost / app / view1 он загружает страницу, однако вспомогательные файлы (файлы в каталогах css, js, lib и partials) также переписываются на страницу app / index.html - поэтому все возвращается как индекс .html страница независимо от того, какой URL используется. Я предполагаю, что это означает, что мое первое правило, которое должно предотвратить обработку этих URL-адресов вторым правилом, не работает ... какие-нибудь идеи? ...кто угодно? ... я чувствую себя таким одиноким ...: - (

135
задан Dean 28 September 2012 в 02:55
поделиться