Javascript Angularjs路线不';在URL中没有#的情况下t工作

Javascript Angularjs路线不';在URL中没有#的情况下t工作,javascript,angularjs,redirect,routes,Javascript,Angularjs,Redirect,Routes,我的angularjs路线有问题。我的简化路由配置如下所示: App.config([ '$routeProvider', function( $routeProvider ) { $routeProvider. when('/', { redirectTo: '/home' }). when('/home', { templateUrl: 'home.html', controller: 'HomeCtrl' }). when('/404'

我的angularjs路线有问题。我的简化路由配置如下所示:

App.config([ '$routeProvider', function( $routeProvider ) {

$routeProvider.
  when('/', {  
      redirectTo: '/home'
  }).
  when('/home', {
    templateUrl: 'home.html',
    controller: 'HomeCtrl'
  }).
  when('/404', {   
      templateUrl: '404.html'
  }).
  when('/500', {   
      templateUrl: '500.html'
  }).
  when('/:tabName', {   
      templateUrl: 'tabView.html',
      controller: 'TabContentCtrl'
  }).
  when('/:tabName/:widgetName', {    
      templateUrl: 'tabView.html',
      controller: 'TabContentCtrl'
  }).
  otherwise({                    
      redirectTo: '/404'
  });
}]);

问题是,当我把URL或浏览器,它重定向我无处,什么也没有发生,甚至重定向到404错误页面。当我把散列放入URL时,它就开始工作了,然后它就如我所期望的那样工作了。但为什么我的应用程序根URL的默认路由不起作用

您只需启用HTML5模式:

配置javascript

App.config([ '$routeProvider', function($routeProvider, $locationProvider) {
  $locationProvider.html5Mode(true);
}]);
index.html

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <base href="/">
  </head>
</html>

这取决于您如何设置虚拟主机,它是否指向根index.html?如果是,那么如果你打字,它肯定会带你去