【问题标题】:AngularJS $routeProvider and "404 Not Found" statusAngularJS $routeProvider 和“404 Not Found”状态
【发布时间】:2016-07-01 12:52:11
【问题描述】:

我在我的应用中使用:

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 Founderror。任何有关解决方案的建议将不胜感激。

【问题讨论】:

  • 我没有看到你在哪里配置你的基本 href "/"...
  • @Dsafds base href 可能是什么?
  • 基本上用更简单的术语来说......“/”没有.when()所以它绝对会给你一个404......
  • @Dsafds 我已经编辑了我的问题。现在我有一个“/”的主控制器。但错误依然存在。

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


【解决方案1】:

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

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

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

编辑 App.yalm 我认为应该看起来更像这样..

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

您能否看一下this 的问题以更好地理解?希望这有帮助!

【讨论】:

  • 我认为这是来自 app.yaml 配置的问题。因为去掉 $locationProvider 和 $httpProvider 有同样的问题
  • 没问题@TheNone 任何时候...(不要问我是如何快速回复我的:P)
猜你喜欢
  • 2014-11-29
  • 1970-01-01
  • 2015-01-09
  • 2014-09-22
  • 2020-03-26
  • 1970-01-01
  • 2016-02-10
  • 2015-06-27
  • 2019-03-14
相关资源
最近更新 更多