Je souhaite activer le mode HTML5 pour mon application. J'ai mis le code suivant pour la configuration, comme indiqué ici :
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'
});
Comme vous pouvez le voir, j'ai utilisé le $locationProvider.html5mode
et j'ai changé tous mes liens aung-href
pour exclure le /#/
.
Le problème
Pour le moment, je peux aller localhost:9000/
voir la page d'index et naviguer vers les autres pages comme localhost:9000/about
.
Cependant, le problème se produit lorsque j'actualise la localhost:9000/about
page. J'obtiens la sortie suivante:Cannot GET /about
Si je regarde les appels réseau:
Request URL:localhost:9000/about
Request Method:GET
Alors que si je vais d'abord sur localhost:9000/
puis cliquez sur un bouton qui accède à, /about
j'obtiens:
Request URL:http://localhost:9000/views/about.html
Ce qui rend la page parfaitement.
Comment puis-je activer angulaire pour obtenir la bonne page lorsque je rafraîchis?