GAE dispatch.yaml路径规则不起作用

时间:2015-11-19 01:36:05

标签: google-app-engine routing

我有一个dispatch.yaml喜欢

application: myapp

dispatch:
  - url: "www.myapp.com/*"
    module: frontend

  - url: "www.myapp.com/api/*"
    module: api

  - url: "foo.myapp.com/*"
    module: foo

foo路由工作正常,但www.myapp.com/api/whatever的请求会被路由到frontend应用。我无法获得命中api模块的请求,如日志所示。

为什么我的调度规则不起作用?

1 个答案:

答案 0 :(得分:2)

订单在dispatch.yaml中很重要。 GAE使用匹配的第一个规则。对www.myapp.com/api/whatever的请求与www.myapp.com/*通配符匹配,因此frontend模块用于那些。

将这些规则的顺序切换为:

dispatch:
  - url: "www.myapp.com/api/*"
    module: api

  - url: "www.myapp.com/*"
    module: frontend