Я использую маршруты и партитуры AngularJS для определения структуры страницы моего сайта. Я использую режим HTML5, чтобы избежать hashbang. Навигация с одной страницы на другую осуществляется щелчком по ссылкам, но при обновлении страницы или при наборе URL напрямую я получаю ошибку 404, не найденную на странице. Как исправить эту проблему?AngularJS маршруты и их части
Вот урезанный HTML:
<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
<meta charset="utf-8">
<title>site</title>
<base href="/">
</head>
<body ng-controller="MyController">
<a href="/home">Site</a>
<ul>
<li><a href="/home">Home</a></li>
<li><a href="/about">About</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
<div ng-view></div>
<script src="js/angular.min.js"></script>
<script src="js/angular-route.min.js"></script>
<script src="js/app.js"></script>
</body>
</html>
Вот мой app.js:
angular.module('myApp', ['ngRoute'])
.config(function($locationProvider, $routeProvider) {
$locationProvider.html5Mode(true);
$routeProvider.
when('/home', { templateUrl: 'partials/home.html', }).
when('/about', { templateUrl: 'partials/about.html', }).
when('/contact', { templateUrl: 'partials/contact.html', }).
otherwise({ redirectTo: '/home' });
});
function MyController($scope) {
}
Частичные страницы только испускают одну строки:
home partial
или
about partial
или
contact partial
Я попытался это как на IIS7 и Apache, с теми же результатами, каждый раз.
Любая помощь будет очень признательна. Спасибо за ваше время.