Google app engine 100 URLMap entries limitation

2019-03-04 03:12发布

I have been using google app engine to build my website, and met a problem about the maximum number of URLMap (I had 101 URLs, but the limit is 100). Here is the error message:

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

I tried to change the setting MAX_URL_MAPS = 1000 in the file appinfo.py, but it did not work. Can anyone give me some suggestions?

EDIT:

Another question is that some of my URLs are similar, like a_input.html, b_input.html, c_input.html. Is there a way to simplify it in order to reduce the number of URLs? Here is an example of my yaml file

#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条回答
一纸荒年 Trace。
2楼-- · 2019-03-04 03:48

The solution will depend on the language you are using. If you are using python 2.7, what you can do is to:

1) Use regular expression for defining the urls, see this doc for more details

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

2) Point a group of urls to the same app and let the app handle the different requests.

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

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

From the information you provided I cant tell if a_input.html, b_html are static or not. But if they are static yo could also do:

3) Refer them with the static file handlers, which also accept regular expressions.

- url: /input
  static_dir: static/input

See issue 1444 for some more details, specially for java related ones.

查看更多
相关推荐>>
3楼-- · 2019-03-04 03:48

I had the same problem using Java SDK. I revolved removing index.html from welcome-file-list. Now my entrypoint is index.jsp with a redirect to my index.html page.

In web.xml:

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

In 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>
查看更多
登录 后发表回答