У мене є проект насіння 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. Перше правило:
Друге правило:
Тепер, коли я переходжу до localhost / app / view1, він завантажує сторінку, однак допоміжні файли (такі в каталогах css, js, lib та partials) також переписуються на сторінку app / index.html - тому все йде назад як сторінку index.html незалежно від того, яка URL-адреса використовується. Я думаю, це означає, що моє перше правило, яке повинно запобігти обробці цих URL-адрес другим правилом, не працює. ... хтось? ... я відчуваю себе таким самотнім ... :-(
app/index.html
а не app/
явно запускати сторінку, яка обслуговує AngularJS. Я втратив 2 години свого життя, перш ніж я зрозумів це. :-)