我想通过直接查找静态文件来缓存我的应用程序中的某些 URL。但是,静态缓存的文件可能不存在,所以我只想在文件存在的情况下重定向请求。我想我可以以某种方式使用 try_files ,但到目前为止我还没有成功地做到这一点。
这是我尝试过的:
location ^/(.*)/(.*)/other/stuff/(.*)/this-is-static {
try_files /static-cache/$1/$2/$3/this-is-static @app;
}
static-cache
是在同一文件中配置的内部位置。这似乎没有按预期工作。怎么了?
我得到的最接近的是这个,它重写每个请求(因此当文件没有被缓存时失败):
location ^/(.*)/(.*)/other/stuff/(.*)/this-is-static {
rewrite ^ /static-cache/$1/$2/$3/this-is-static;
}