Problemas com $ locationProvider.html5Mode (true)

lidando com alguns problemas de $ locationProvider nos quais estou preso. Eu tenho uma página de página única simples. Mas estou recebendo o seguinte erro:

     TypeError: Cannot read property 'replace' of undefined
        at trimEmptyHash (angular.js:10551)
        at Object.$locationWatch (angular.js:11399)
        at Scope.$get.Scope.$digest (angular.js:14217)
        at Scope.$get.Scope.$apply (angular.js:14488)
        at bootstrapApply (angular.js:1449)
        at Object.invoke (angular.js:4182)
        at doBootstrap (angular.js:1447)
        at bootstrap (angular.js:1467)
        at angularInit (angular.js:1361)
        at HTMLDocument.<anonymous> (angular.js:26065)

Meu arquivo app.js é bem simples ...

    var app = angular.module('app',
        [
            'ui.router'
        ]
    );

    app.config([
        '$stateProvider',
        '$httpProvider',
        '$locationProvider',
        '$urlRouterProvider',
        function ($stateProvider, $httpProvider, $locationProvider, $urlRouterProvider) {

            $locationProvider.hashPrefix('!');
            $locationProvider.html5Mode(true);

            $stateProvider
            .state('home',
            {
                url: '/',
                views: {
                    'aboutView':
                        {
                            template: function (params) {
                                console.log("home");
                                return 'home';
                            }
                        }
                }
            })
            .state('about',
            {
                url: '/about',
                views: {
                    'aboutView':
                        {
                            template: function (params) {
                                console.log('about')
                                return 'about';
                            }
                        }
                }
            })
            ;
        }
    ]);

Eu tenho o<base href="http://localhost/apps/uiv8/" /> definido no meu arquivo index.html. Então, quando eu comento o código $ locationProvider, tudo funciona bem no modo #. Eu posso acessar / # / about etc. sem problemas. Assim que eu colocar as peças $ locationProvider de volta, nada.

Um pouco mais sobre o meu ambiente .... Temos o MVC do asp.net aqui, e o route.config está fazendo um {* url} para redirecionar tudo para a rota padrão, e eu até cheguei até modificar o IIS com url reescreve para enviar para o padrão, mas ainda recebo a análise de erro acima.

Então, alguém tem alguma idéia do que está acontecendo?

Obrigado Nick

questionAnswers(2)

yourAnswerToTheQuestion