Я хочу включить режим HTML5 для своего приложения. Я установил следующий код для конфигурации, как показано здесь:
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'
});
Как вы можете видеть, я использовал $locationProvider.html5mode
, и я изменил все свои ссылки в ng-ref, чтобы исключить /#/
.
Проблема
На данный момент я могу перейти на localhost:9000/
и увидеть страницу индекса и перейти на другие страницы, например localhost:9000/about
.
Однако проблема возникает, когда я обновляю страницу localhost:9000/about
. Я получаю следующий вывод: Cannot GET /about
Если я посмотрю на сетевые вызовы:
Request URL:localhost:9000/about
Request Method:GET
Если я сначала перейду к localhost:9000/
, а затем нажмите кнопку, которая переходит на /about
, я получаю:
Request URL:http://localhost:9000/views/about.html
Что делает страницу безупречной.
Как включить angular для получения правильной страницы при обновлении?
Спасибо заранее.