2015-11-30 8 views
0

Я использую Angular 1.5 для маршрутизации с помощью Angular New Router. Я столкнулся с проблемой удаления # из URL, чтобы сделать их дружественными к SEO. Есть 2 вида, а именно first.html и second.html в папке компонентов и являются частью углового маршрутизатора, тогда есть 3-й вид Navigation.html, который не является частью Angular Routing, а представляет собой отдельный HTML. Ссылки на эти представления приведены в заголовке страницы. Первые 2 - угловые виды, а 3-е место - для Navigation.html (не является частью угловой маршрутизации). Я успешно удалил # тег из URL, используя $ locationProvider.html5Mode (true). Но после этого он не может перейти к Navigation.html, а перенаправляет его на First.html. Это очень простой код, который использует Bootstrap, Grunt и Angular. Я толкнул его в GitHub. Любой может видеть это путем клонирования. Я буду очень благодарен вам. Также предложите мне, если есть лучший способ.Угловой компонентный маршрутизатор Удалите # из URL

https://github.com/kjanshair/Angular-New-Router-Example

Все, что я хочу, чтобы удалить # из URL и быть в состоянии Перейдите Navigation.html.

+0

Фактически он использует Angular NgRoute в этом примере. Я использую Angular New Router (Angular Component Router). –

+0

да, извините, моя ошибка! – charliebrownie

ответ

1

Все, что вам нужно сделать, это добавить $ locationProvider в свою конфигурационную функцию и внутри нее вызвать: $ locationProvider.html5Mode (true);

angular.module('myapp',[]). 
    config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { 
     $routeProvider.when().otherwise() # define routing 
     $locationProvider.html5Mode(true); 
    }]); 
+0

Пожалуйста, вы видите код на GitHub? Я его реализовал. Более того, я использую Angular-New-Router. Я пробовал ваше решение несколько раз. –

Смежные вопросы