AngularJS: ¿Cómo eliminar #! / (Prefijo de explosión) de la URL?
Ya he hecho$locationProvider.html5Mode(true);
Pero no está funcionando. Cada vez que accedohttp://example.com
va ahttp://example.com/#!/
. El código se da aquí:
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);
});
Actualizar yo añadí$locationProvider.hashPrefix('');
también pero no hay diferencia. También déjame decirte que estoy ingresando la dirección en la barra de direcciones y presionando enter. ¿Lo estoy haciendo bien? ¿Cómo encontrará el navegador que no necesita actualizarse desde el servidor?
Actualización n. ° 2
Idealmente quiero URL comohttp://example.com
yhttp://example.com/#!/list-role
ahttp://example.com/list-role
. Ahora mismohttp://example.com/list-role
da 404
Actualización n. ° 3
Estoy usando el proxy nginx, si eso ayuda.
Actualización n. ° 4
Caché borrado. Ahora puedo verhttp://example.com
en lugar dehttp://example.com/#!
pero aúnhttp://example.com/list-role
da 404