如何指定路径以从类似于
- url: /scripts
static_dir: ../(app|.tmp)/scripts
我希望任何对/scripts
的调用都来自
../app/scripts
../.tmp/scripts
尝试了不同的选项,例如
static_dir: ../app|.tmp/scripts
static_dir: ../(.*?)/scripts
但没有用。
参考https://developers.google.com/appengine/docs/python/config/appconfig
有两个错误:
-
您不能指向比
app.yaml
级别更低的文件,因为外部的任何内容都不是由 Google App Engine 处理的,因此切勿从app.yaml
文件中的../
开始。 -
正如您从文档中看到的那样,
static_dir
是一个将作为静态文件与应用程序一起上传的目录,因此尝试上传指向相同路径的两个目录没有多大意义,即使正则表达式成功,也很可能会失败。
所以你的问题的答案是:这真的不可能。我建议将要提供的所有文件放入一个与app.yaml
位于同一级别(或更深)的文件夹中,并将其指向该文件夹。
-竖线 | 在你的第一个正则表达式中,将其"or"函数应用于其左侧和右侧的全部内容,因此它实际上正在寻找"../app"或".tmp/scripts"。
-点是正则表达式中的一个特殊字符,它匹配换行符以外的任何字符。 它不会导致这些模式失败,因为它将与文字"."匹配,但它使您的正则表达式更容易接受您可能希望它失败。
-你的第二种模式实际上应该有效,但如果你只打算在该位置使用"app"或".tmp",你可能应该专门使用它们。
因此,您的正则表达式应如下所示: ../(?:app|.tmp)/scripts
至于为什么你的第二个正则表达式没有成功匹配,可能是因为你的代码将正斜杠视为分隔符,在这种情况下,你需要用反斜杠转义每个正则表达式:../(?:app|.tmp)/scripts