kentuck1213
@kentuck1213

Не работает otherwise в $routeProvider?

var app = angular.module('Application', ['ngRoute']);
app.config(function ($routeProvider, $locationProvider) {
    $locationProvider.html5Mode(true);
    $routeProvider
        .when('/', {
            controller: 'MainCtrl',
            templateUrl: 'views/app.html'
        })
        .when('/photo/:id', {
            controller: 'PhotoCtrl',
            templateUrl: 'views/photo.html'
        })
        .otherwise({
            redirectTo: '/'
        });
});

Когда набираю в браузере angular.local/asdasdasd получаю ошибку :
"Object not found!".
почему не происходит редирект на "/"?
  • Вопрос задан
  • 174 просмотра
Пригласить эксперта
Ответы на вопрос 3
@kondaurov
Full stack developer
ngRouter не использую, пользуюсь ui-router.
Все вроде правильно с провайдером
Мне кажется не хватает хеш тега в урле, это же js, он может работать только с ними. Что будет просто если зайти на angular.local?
Ответ написан
AMar4enko
@AMar4enko
Одного включения html5 mode в ангуляре недостаточно, вам нужно еще и сервер настроить так, чтобы по любой ссылке он всегда отдавал index.html
Ответ написан
Комментировать
@nk_pl
$locationProvider.hashPrefix('#');
и <base href="/" /> в секцию head
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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