Angular应用程序在github.io上抛出404错误

时间:2015-05-09 21:24:26

标签: javascript angularjs http-status-code-404

我写了一个相当简单的应用程序并将其放在github上,以便可以在网上查看。但是网址似乎存在问题(或者其他的东西!)。我设法使其在localhost上工作的唯一方法是在我的导航栏中使用符号并在我的配置函数中使用常规网址(不带):

<ul class="nav navbar-nav navbar-right">  
    <li ng-class="{ active: isActive('/')}"><a href="/#/">Home</a></li>
    <li ng-class="{ active: isActive('/games')}"><a href="/#/games">Games</a></li>
    <li ng-class="{ active: isActive('/contact')}"><a href="/#/contact">Contact</a></li> 
</ul>


app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
    $routeProvider
    .when('/', {
        controller: 'Posts',
        templateUrl: 'controllers/posts.html'
    })
    .when('/games', {
        controller: 'Games',
        templateUrl: 'controllers/games.html'   
    })
    .when('/contact', {  
        controller: 'Games',
        templateUrl: 'controllers/contact.html' 
    })
    .when('/:id', {  
        controller: 'Games',
        templateUrl: 'controllers/reviews.html'
    })
    .otherwise({
        redirectTo: '/'
    });
}]);

但它并不适用于github.io,只有第一页才有效。当我点击games按钮时,它会显示

  找不到404文件

虽然我当然把所有html文件放在 controllers 文件夹中。

1 个答案:

答案 0 :(得分:1)

你的href的额外/

删除指示前往域根目录的前导

<a href="/#/contact">Contact</a>

应该是:

<a href="#/contact">Contact</a>

这样只会在href

中留下一个哈希值