没有#/ home的AngularJS索引页面

时间:2015-02-19 13:32:06

标签: angularjs angularjs-routing

我有一个AngularJS 1.0.7 Web应用程序。当我在浏览器中加载我的网站时,请输入www.domainname.com。浏览器加载页面,我的浏览器URL立即更改为www.domainname / home。

怎么能避免这个?当我在index.html

时,我希望浏览器显示www.domainname.com

更新

请参阅我的app.js:

'use strict';


// Declare app level module which depends on filters, and services
angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives', 'myApp.controllers'])
  .config(['$routeProvider', '$httpProvider', '$locationProvider',function($routeProvider, $httpProvider, $locationProvider) {

    // use the HTML5 History API
    $locationProvider.html5Mode(true);   

    $httpProvider.defaults.useXDomain = true;
    delete $httpProvider.defaults.headers.common["X-Requested-With"];           

    $routeProvider.when('/about', {templateUrl: 'partials/about.html', controller: 'AboutCtrl'});    
    $routeProvider.when('/contact', {templateUrl: 'partials/contact.html', controller: 'HomeCtrl'});
    // More routing
    $routeProvider.when('/home', {templateUrl: 'partials/home.html', controller: 'HomeCtrl'});
    // More routing
    $routeProvider.otherwise({redirectTo: '/home'}); 
  }])
  .config(function(AngularyticsProvider) {
    AngularyticsProvider.setEventHandlers(['Console', 'GoogleUniversal']);
  }).run(function(Angularytics) {
    Angularytics.init();
  });

1 个答案:

答案 0 :(得分:2)

如果你更换了它应该有效:

$routeProvider.otherwise({redirectTo: '/home'});

通过

$routeProvider.otherwise({redirectTo: '/'});

并补充说:

$routeProvider.when('/', {templateUrl: 'partials/home.html', controller: 'HomeCtrl'});

注意:正如@isherwood正确评论如下:

$routeProvider.when('/home', {templateUrl: 'partials/home.html', controller: 'HomeCtrl'});

可以完全删除,以避免同时使用' /'和' / home'指向同一条路线。