我尝试将正则表达式匹配为 app.yaml 中的目录名称无效:
- url: /v1_.*
static_dir: static/v1
expiration: "364d"
虽然this official spec表示支持正则表达式语法。有什么办法可以做到这一点吗?
即/v1_2014-01-29/img/logo.png
应该匹配静态文件 /static/v1/img/logo.png
。
琐事
我使用 Google App Engine 为 Go 提供服务网络应用程序。
我想最大限度地延长浏览器缓存的生命周期,最大限度地减少请求数量,并且仍然提供我的 css/js/png 的新版本,我相信 revving filenames是实现这一目标的最佳实践。此外,由于添加变量查询字符串 (/v1/img/logo.png?2014-01-29
) 可能会导致代理和缓存问题,我更喜欢显示变量目录名称 (/v1_2014 -01-29/img/logo.png
),指向相同的底层服务器目录。
最佳答案
在我看来,URL 中超出 url 定义匹配项(从一开始就匹配)的任何部分都会附加到 static_dir。
因此,如果文件路径为 static/v1/img/logo.png
,则以下处理程序应匹配 /v1_2014-01-29/img/logo.png
(尝试使用 Python):
- url: /v1_(\d+-?)+
static_dir: static/v1
关于google-app-engine - 应用程序.yaml : wildcard in URL with static_dir?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21443688/