$routeProvider не работает с html5Mode

Я только начинаю изучать angularJs и пытаюсь настроить частичную страницу с помощью службы угловых маршрутов.

Однако он работал с хеш-форматом, когда я попытался избавиться от хэша, routeProvider перестал работать.

JS

app.config(function($routeProvider,$locationProvider){
    $locationProvider.html5Mode(true);
    $routeProvider.when("/", { templateUrl: "/index.html" }).
        when("/about", { templateUrl: "/partials/about.html" }).
        when("/contact", { templateUrl: "/partials/contact.html" }).
        otherwise({ redirectTo: '/' });
});

HTML

          <ul class="nav navbar-nav navbar-right">
              <li><a href="/about">About</a></li>
              <li><a href="/contact">Contact</a></li>
          </ul

Может ли кто-нибудь просветить меня?


person 9blue    schedule 20.12.2013    source источник
comment
Как это перестало работать? Теперь переходы по ссылкам ничего не дают? Это вызывает 404? Выдает ли он какие-либо сообщения на консоли ошибок?   -  person musically_ut    schedule 20.12.2013
comment
Нет содержимого в части ng-view. Не удается загрузить часть страницы   -  person 9blue    schedule 20.12.2013


Ответы (1)


Попробуйте изменить

 $locationProvider.html5Mode(true);

to

$locationProvider.html5Mode(true).hashPrefix('!');

И добавить

<base href="/">

в разделе "голова" документа.

person strelok2010    schedule 20.12.2013