AngularJS $ routeProvider和“404 Not Found”状态

时间:2016-03-15 21:07:52

标签: angularjs google-app-engine angular-routing

我在我的应用中使用:

app.config(function ($routeProvider, $locationProvider, $httpProvider) {
$routeProvider
    .when('/', {
        templateUrl: '/index.html',
        controller: 'mainController'
    })
    .when('/login', {
        templateUrl: '/views/login.html',
        controller: 'LoginController'
    })
    .when('/user/list', {
        templateUrl: '/views/users/list.html',
        controller: 'userListController'
    }) 
    });
$locationProvider.html5Mode(true);
});

并在html中有<base href="/">。我正在谷歌应用程序中使用此应用程序。在app.yaml

- url: /(user)/.*
  static_files: index.html
  upload: index.html

user开头的链接一切正常。但在登录时出现404 Not Found错误。任何有关解决方案的建议都将受到赞赏。

1 个答案:

答案 0 :(得分:1)

删除$ locationProvider ..它会产生许多冲突,如下所示:https://docs.angularjs.org/api/ng/provider/ $ locationProvider

  

使用$ locationProvider配置应用程序的深度   存储链接路径。

接下来删除参数$ httpProvider,因为在你提供的代码中你没有在.config()函数的任何地方使用提供者......希望这有帮助。

修改 App.yalm我认为看起来应该更像这样..

handlers:
- url: '/' 
    script: main.app

您可以查看this问题以便更好地理解吗?希望这有帮助!