J'ai le projet d'amorçage AngularJS et j'ai ajouté
$locationProvider.html5Mode(true).hashPrefix('!');
dans le fichier app.js. Je souhaite configurer IIS 7 pour acheminer toutes les demandes vers
http://localhost/app/index.html
pour que cela fonctionne pour moi. Comment puis-je faire cela?
Mettre à jour:
Je viens de découvrir, télécharger et installer le module de réécriture d'URL IIS , en espérant que cela rendra facile et évident d'atteindre mon objectif.
Mise à jour 2 :
Je suppose que cela résume ce que j'essaie de réaliser (tiré de la documentation AngularJS Developer ):
L'utilisation de ce mode nécessite une réécriture d'URL côté serveur, en gros vous devez réécrire tous vos liens vers le point d'entrée de votre application (par exemple index.html)
Mise à jour 3:
Je travaille toujours là-dessus et je me rends compte que je ne dois PAS rediriger (avoir des règles qui réécrivent) certaines URL telles que
http://localhost/app/lib/angular/angular.js
http://localhost/app/partials/partial1.html
donc tout ce qui se trouve dans les répertoires css, js, lib ou partials n'est pas redirigé. Tout le reste devra être redirigé vers app / index.html
Quelqu'un sait comment y parvenir facilement sans avoir à ajouter une règle pour chaque fichier?
Mise à jour 4:
J'ai 2 règles entrantes définies dans le module de réécriture d'URL IIS. La première règle est:
La deuxième règle est:
Maintenant, lorsque je navigue vers localhost / app / view1, il charge la page, mais les fichiers de support (ceux des répertoires css, js, lib et partials) sont également réécrits sur la page app / index.html - donc tout est à venir retour en tant que page index.html quelle que soit l'URL utilisée. Je suppose que cela signifie que ma première règle, qui est censée empêcher ces URL d'être traitées par la deuxième règle, ne fonctionne pas… aucune idée? ...n'importe qui? ...Je me sens si seul... :-(
app/index.html
et ne app/
pas déclencher explicitement la page qui sert AngularJS. J'ai perdu 2 heures de ma vie avant de le découvrir. :-)