Ich habe das AngularJS-Seed-Projekt und habe hinzugefügt
$locationProvider.html5Mode(true).hashPrefix('!');
in die Datei app.js. Ich möchte IIS 7 so konfigurieren, dass alle Anforderungen an weitergeleitet werden
http://localhost/app/index.html
damit das bei mir funktioniert. Wie mache ich das?
Aktualisieren:
Ich habe gerade das IIS URL Rewrite-Modul entdeckt, heruntergeladen und installiert , in der Hoffnung, dass dies das Erreichen meines Ziels einfach und offensichtlich macht.
Update 2 :
Ich denke, dies fasst zusammen, was ich erreichen möchte (entnommen aus der AngularJS Developer-Dokumentation ):
Wenn Sie diesen Modus verwenden, müssen Sie die URL auf der Serverseite neu schreiben. Grundsätzlich müssen Sie alle Links zum Einstiegspunkt Ihrer Anwendung (z. B. index.html) neu schreiben.
Update 3:
Ich arbeite immer noch daran und mir ist klar, dass ich bestimmte URLs wie z. B. NICHT umleiten muss (Regeln haben, die neu schreiben)
http://localhost/app/lib/angular/angular.js
http://localhost/app/partials/partial1.html
Daher wird alles, was sich in den Verzeichnissen css, js, lib oder partials befindet, nicht umgeleitet. Alles andere muss nach app / index.html umgeleitet werden
Weiß jemand, wie man dies einfach erreicht, ohne für jede einzelne Datei eine Regel hinzufügen zu müssen?
Update 4:
Ich habe 2 eingehende Regeln im IIS URL Rewrite-Modul definiert. Die erste Regel lautet:
Die zweite Regel lautet:
Wenn ich jetzt zu localhost / app / view1 navigiere, wird die Seite geladen, aber die unterstützenden Dateien (die in den Verzeichnissen css, js, lib und partials) werden auch in die Seite app / index.html umgeschrieben - also kommt alles zurück als index.html Seite, egal welche URL verwendet wird. Ich denke, dies bedeutet, dass meine erste Regel, die verhindern soll, dass diese URLs von der zweiten Regel verarbeitet werden, nicht funktioniert. Irgendwelche Ideen? ...jemand? ... ich fühle mich so alleine ... :-(
app/index.html
und nicht app/
explizit die Seite auslöst, auf der AngularJS bereitgestellt wird. Ich habe 2 Stunden meines Lebens verloren, bevor ich es herausgefunden habe. :-)