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

Angular app throws 404 error on github.io

我写了一个相当简单的应用程序并将其放在 github 上以便可以在网上查看。但是 url 似乎有问题(或者可能是其他问题!)。我设法让它在本地主机上工作的唯一方法是在我的导航栏中使用 # 符号并使用常规 url (没有 # ) 在我的配置函数中:

<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 file not found

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

您的 href

中有一个额外的 /

删除前导的,因为它指示转到域根目录

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

应该是:

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

这使您在 href 中只剩下一个散列