Google应用引擎100的URLMap条目限制

时间:2012-07-02 17:31:41

标签: google-app-engine yaml

我一直在使用谷歌应用引擎来构建我的网站,并遇到了有关最大URLMap数量的问题(我有101个URL,但限制为100)。以下是错误消息:

Fatal error when loading application configuration:
Invalid object:
Found more than 100 URLMap entries in application configuration
  in "\AppPest\app.yaml", line 269, column 28

我尝试更改appinfo.py文件中的设置MAX_URL_MAPS = 1000,但它无效。谁能给我一些建议?

编辑:

另一个问题是我的一些网址类似,例如a_input.html,b_input.html,c_input.html。有没有办法简化它以减少URL的数量?这是我的yaml文件的一个例子

#a
- url: /a_input.html
  script: a/a_input.py

#b
- url: /b_input.html
  script: b/b_input.py

#c
- url: /c_input.html
  script: c/c_input.py

2 个答案:

答案 0 :(得分:2)

解决方案取决于您使用的语言。如果你使用的是python 2.7,你可以做的是:

1)使用正则表达式来定义网址,有关详细信息,请参阅this doc

handlers:
- url: /(.*?)_input.html
  script: /input/\1.app

2)将一组网址指向同一个应用,让应用处理不同的请求。

handlers:
- url: /(.*?)_input.html
  script: /input/input.app

app = webapp2.WSGIApplication([('/a_input.html', AInputPage), ('/b_input.html', BInputPage)])

根据您提供的信息,我无法判断a_input.html,b_html是否为静态。但如果它们是静态的,你也可以这样做:

3)使用static file handlers引用它们,它也接受正则表达式。

- url: /input
  static_dir: static/input

有关更多详细信息,请参阅issue 1444,特别是与Java相关的详细信息。

答案 1 :(得分:0)

使用Java SDK时遇到了同样的问题。 我转而从welcome-file-list中删除index.html。 现在我的入口点是index.jsp,重定向到我的index.html页面。

在web.xml中:

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

在appengine-web.xml中:

<static-files>
    <include path="/fonts/**" />
    <include path="/app/fonts/**" />
    <include path="/**.html" />
    <include path="/**.js" />
    <include path="/**.css" />
    <include path="/**.ico" />
    <include path="/**.png" />
    <include path="/**.jpg" />
    <include path="/**.jpeg" />
    <include path="/**.gif" />
</static-files>