$ location / Umschalten zwischen HTML5- und Hashbang-Modus / Umschreiben von Links

Ich hatte den Eindruck, Angular würde URLs, die in href-Attributen von Ankertags erscheinen, innerhalb von Tempaltes umschreiben, so dass sie im HTML5-Modus oder im Hashbang-Modus funktionieren. DasDokumentation für den Ortungsdienst scheint zu sagen, dass sich HTML Link Rewriting um die Hashbang-Situation kümmert. Ich würde daher erwarten, dass, wenn nicht im HTML5-Modus, Hashes eingefügt würden, und im HTML5-Modus, würden sie nicht.

Es scheint jedoch, dass kein Umschreiben stattfindet. Im folgenden Beispiel kann ich den Modus nicht einfach ändern. Alle Links in der Anwendung müssten von Hand neu geschrieben werden (oder zur Laufzeit von einer Variablen abgeleitet werden. Muss ich je nach Modus alle URLs manuell neu schreiben?

Ich sehe in Angular 1.0.6, 1.1.4 oder 1.1.3 kein Umschreiben der clientseitigen URL. Anscheinend müssen allen href-Werten # / für den Hashbang-Modus und / für den HTML5-Modus vorangestellt werden.

Ist eine Konfiguration erforderlich, um das Überschreiben zu veranlassen? Verstehe ich die Dokumente falsch? Machst du noch was Dummes?

Hier ist ein kleines Beispiel:

<head>
    <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.3/angular.js"></script>
</head>

<body>
    <div ng-view></div>
    <script>
        angular.module('sample', [])
            .config(
        ['$routeProvider', '$locationProvider',
            function ($routeProvider, $locationProvider) {

                //commenting out this line (switching to hashbang mode) breaks the app
                //-- unless # is added to the templates
                $locationProvider.html5Mode(true);

                $routeProvider.when('/', {
                    template: 'this is home. go to <a href="/about"/>about</a>'
                });
                $routeProvider.when('/about', {
                    template: 'this is about. go to <a href="/"/>home</a'
                });
            }
        ])
            .run();
    </script>
</body>

Nachtrag: Beim erneuten Lesen meiner Frage stelle ich fest, dass ich den Begriff "Umschreiben" ohne jede Menge Klarheit darüber verwendet habe, wer und wann ich das Umschreiben durchführen wollte. Die Frage ist, wie man es bekommtAngular Umschreiben der URLs beim Rendern von Pfaden und Interpretieren von Pfaden im JS-Code in beiden Modi. Es istnicht Informationen zum Veranlassen eines Webservers zum HTML5-kompatiblen Umschreiben von Anforderungen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage