我一直在使用谷歌应用引擎来构建我的网站,并遇到了有关最大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
答案 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>