AngularJS действительно позволят избавится от хэша в адресной строке, и эмулировать настоящие переходы по страницам с помощью новоиспеченных возможностей javascript в браузере history.pushState().
С как не странно — сделать это очень просто.
Нужно только установить html5Mode в «true» для $locationProvider:
$locationProvider.html5Mode(true);
Пример использования:
angular.module("MyApp", [])
.config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
// Подходящее место для добавления этой строки
$locationProvider.html5Mode(true);
$routeProvider
.when('/', {
templateUrl: '/templates/index.html',
controller: IndexCtrl
})
.when('/about', {
templateUrl: '/templates/about.html',
controller: AboutCtrl
})
.otherwise({redirectTo: '/about'});
}]);
Примечание: Обратите внимание, что это может привести к проблемам в старих веб-браузерах.