使用Angularjs时如何摆脱url中的`/#/`?

时间:2013-10-03 17:35:23

标签: angularjs angularjs-routing

使用ng-view和

myApp.config(['$routeProvider', function($routeProvider) {
  $routeProvider.
      when('/', {
        templateUrl: '/partials/home',
        controller: 'homePage'
      }).      
      otherwise({redirectTo: '/login'});
}]);

除了在每个地址前显示/#/的网址外,一切正常。你怎么摆脱它?

1 个答案:

答案 0 :(得分:4)

注入$ locationProvider并将html5mode设置为true http://docs.angularjs.org/guide/dev_guide.services。$位置

myApp.config(['$routeProvider','$locationProvider', function($routeProvider, $locationProvider) {
  $routeProvider.
      when('/', {
        templateUrl: '/partials/home',
        controller: 'homePage'
      }).      
      otherwise({redirectTo: '/login'});
  $locationProvider.html5Mode(true);        // <-- Here comes the magic
}]);

请记住,您需要设置upp后端以将所有链接重定向到index.html