AngularJS 1.1.5 - автоматически добавляет хэш-тег к URL-адресам
Кто-нибудь знает, почему версия 1.1.5 автоматически добавляет хэштаг к вашим URL-адресам и как отключить это? ИМО это уродливое. Это происходит, когда у вас есть URL-адрес, который не заканчивается косой чертой. (Я не использую маршруты или что-то в этом роде).
Итак, это:
http://my.website.com/about
становится
http://my.website.com/about#/about
и это:
http://my.website.com/about.html
становится:
http://my.website.com/about.html#/about.html
но это:
http://my.website.com/about/
не имеет этой проблемы.
Ответы
Ответ 1
Я пережил этот вопрос только на днях. Я решил это, включив режим HTML5 для $locationProvider
. См. Документы для $location - Режим HTML5 Обновленная ссылка для $location - Режим HTML5.
Он должен выглядеть примерно так:
.config(['$locationProvider', function($locationProvider){
$locationProvider.html5Mode(true).hashPrefix('!');
}]);
Ответ 2
Кажется, это ошибка, введенная в angularjs 1.1.5 (поскольку 1.1.4 не проявляет этой проблемы). Я сообщил об ошибке здесь:
https://github.com/angular/angular.js/issues/3083
Ответ 3
В $routeProvider установите режим HTML5 как true, как показано ниже
$locationProvider.html5Mode(true);
И в разделе заголовка вашей страницы добавьте следующую строку
<base href="/">