Как правильно настроить REST ful API?

при использовании html5Mode для отказа от хеша#, возникает проблема с переходом по адресу. Я использую виртуальный сервер, стартовая страница с адресом localhost:9999, в конфиге это выглядит так
var portfolioApp = angular.module('portfolioApp', ['ngRoute', 'ngMaterial', 'portfolioControllers']);

portfolioApp.config(['$routeProvider', '$locationProvider',
	function($routeProvider, $locationProvider) {

		$locationProvider.html5Mode({
			enabled: true,
			requireBase: false
		})

		$routeProvider.
			when('/', {
				templateUrl: 'partials/home.html',
				controller: 'HomeCtrl'
			}).
			when('/service', {
				templateUrl: 'partials/service.html',
				controller: 'ServiceCtrl'
			}).
			when('/works', {
				templateUrl: 'partials/works.html',
				controller: 'WorksCtrl'
			}).
			when('/about', {
				templateUrl: 'partials/about.html',
				controller: 'AboutCtrl'
			}).
			otherwise({
				redirectTo: '/'
			});
	}
]);

при этом, все переходы по ссылкам с атрибутом href="/service" с последующей подгрузкой в ng-view service.html и как положено, в адресной строке я вижу - localhost:9999/service

или ссылка с атрибутом href="/" - с подгрузкой в ng-view home.html --- работают!
если я введу в адресную строку ручками localhost:9999 - тоже работает!

Но, если я введу в адресную строку ручками такой адрес localhost:9999/service или localhost:9999/works, то на белом экране я получаю:
Cannot GET /service или соответственно Cannot GET /works. Это первая и ужасная проблема. Помогите

Вторая проблема - при замене в ng-view страницы HTML на другую, я перехожу на новую страницу но уже с опущенным скролом, на таком же расстоянии - на каком закончил просмотр предыдущей страницы. Здесь поможет, наверное $location, но как? Помогите
  • Вопрос задан
  • 2306 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы