Ich möchte den HTML5-Modus für meine App aktivieren. Ich habe den folgenden Code für die Konfiguration eingegeben, wie hier gezeigt :
return app.config(['$routeProvider','$locationProvider', function($routeProvider,$locationProvider) {
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix = '!';
$routeProvider.when('/', {
templateUrl: '/views/index.html',
controller: 'indexCtrl'
});
$routeProvider.when('/about',{
templateUrl: '/views/about.html',
controller: 'AboutCtrl'
});
Wie Sie sehen können, habe ich das verwendet $locationProvider.html5mode
und alle meine Links am geändert ng-href
, um das auszuschließen /#/
.
Das Problem
Im Moment kann ich auf localhost:9000/
die Indexseite gehen und zu den anderen Seiten wie navigieren localhost:9000/about
.
Das Problem tritt jedoch auf, wenn ich die localhost:9000/about
Seite aktualisiere . Ich erhalte folgende Ausgabe:Cannot GET /about
Wenn ich mir die Netzwerkaufrufe ansehe:
Request URL:localhost:9000/about
Request Method:GET
Wenn ich zum ersten Mal gehe localhost:9000/
und dann auf eine Schaltfläche klicke, die zu navigiert, /about
erhalte ich:
Request URL:http://localhost:9000/views/about.html
Das macht die Seite perfekt.
Wie kann ich Angular aktivieren, um beim Aktualisieren die richtige Seite zu erhalten?