AngularJS: Como remover #! / (Prefixo bang) do URL?

Eu já fiz$locationProvider.html5Mode(true); Mas isto não está funcionando. Sempre que eu acessohttp://example.com vai parahttp://example.com/#!/. O código é fornecido aqui:

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

myApp.config(['$qProvider', function ($qProvider) {
    $qProvider.errorOnUnhandledRejections(false);
}]);

myApp.config(function($stateProvider, $urlRouterProvider,$locationProvider) {
    // For any unmatched url, redirect to EXTRANET home page
    $urlRouterProvider.otherwise('/');
    // Now set up the states
    $stateProvider
    .state('listrole', {
    url: "/list-role",
    views: {
      'main-content': {
        templateUrl: rootUrl+ 'views/main.html',
        controller: 'rolesCtrl'
      }
    }
    })
    $locationProvider.hashPrefix('');
    $locationProvider.html5Mode(true);
});

Atualizar Eu adicionei$locationProvider.hashPrefix(''); tão bem, mas não há diferença. Além disso, deixe-me dizer que estou inserindo o endereço na barra de endereços e pressionando Enter. Estou fazendo certo? como o navegador descobrirá que não precisa atualizar do servidor?

Atualização # 2

Idealmente, quero URL comohttp://example.com ehttp://example.com/#!/list-role parahttp://example.com/list-role. Agora mesmohttp://example.com/list-role dá 404

Atualização # 3

Estou usando o proxy nginx, se isso ajudar.

Atualização # 4

Cache apagado. Agora eu posso verhttp://example.com ao invés dehttp://example.com/#! mas aindahttp://example.com/list-role dá 404

questionAnswers(6)

yourAnswerToTheQuestion