Я использую Angular UI Router в моем приложении Angular, и я включил режим HTML5 для удаления # формы URL-адреса с помощью $locationProvider в config.
var app = angular.module('openIDC', ['ui.router']);
app.config(function($urlRouterProvider, $stateProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
templateUrl: 'views/home.html',
controller: 'HomeController'
})
.state('login', {
url: '/login',
templateUrl: 'views/login.html',
controller: 'LoginController'
})
});
Я также установил тег <base href="/" />
в файле index.html. Маршрутизация работает отлично, и я могу перемещаться по страницам, а # удаляется, но когда я обновляю страницу с помощью кнопки перезагрузки в браузере, есть ответ об ошибке 404.
Почему это происходит и как я могу его исправить, и у режима HTML5 есть правильные URL-адреса.