Удаление префикса # с сайта AngularJS без разрыва ссылок

У меня есть веб-сайт AngularJS на основе Firebase. Мне удалось удалить префикс # и переписать URL-адреса, например, с /#/home на /home, используя приведенный ниже код:

.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
    $routeProvider.otherwise({
      redirectTo: '/home'
    });
    if(window.history && window.history.pushState){
      $locationProvider.html5Mode({
          enabled: true,
          requireBase: false
      });
    }
  }])

однако существующие якоря создают проблемы. Когда я нажимаю на <a href="#/faq">FAQ</a>, я перехожу к /home#%2Ffaq Конечно, я могу изменить href некоторых якорей, но не вижу в этом решения, так как где-то могут быть некоторые ссылки, которые остаются неизменными и ломаются.

Как решить эту проблему, не нарушая существующие ссылки?


person towi_parallelism    schedule 22.06.2018    source источник
comment
@georgeawg, это другая проблема. Моя проблема не в части %2F, а в том, что #/xxx добавляется к текущему местоположению, например. /home из-за перехода с html4 на html5. Мои существующие ссылки по-прежнему используют формат #/xxx, который не будет работать после включения html5.   -  person towi_parallelism    schedule 23.06.2018
comment
Возможный дубликат AngularJS Все косые черты в URL изменены на %2F .   -  person georgeawg    schedule 23.06.2018