У меня есть веб-сайт 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
некоторых якорей, но не вижу в этом решения, так как где-то могут быть некоторые ссылки, которые остаются неизменными и ломаются.
Как решить эту проблему, не нарушая существующие ссылки?
%2F
, а в том, что#/xxx
добавляется к текущему местоположению, например./home
из-за перехода с html4 на html5. Мои существующие ссылки по-прежнему используют формат#/xxx
, который не будет работать после включения html5. - person towi_parallelism   schedule 23.06.2018