我们有带有 id 分区和子域的页面缓存。说对于ny.site.com/cat/12345
or之类的请求la.site.com/dog/234
,nginx 需要
- 检查文件是否
/cat/ny/1234/5.html
存在,返回它 - 否则,直接用原来
request_uri
的打app server,缓存文件就创建好了
我们设法找出了子域和 id 分区部分,但在 try_files 部分没有得到任何运气。总是会出现无限循环错误,例如rewrite or internal redirection cycle while internally redirecting to
我们的 nginx.conf 文件就像
rewrite "/cat/([0-9]{4})([0-9]{1,4})" /system/cache/cat/$subdomain/$1/$2.html break;
rewrite "/cat/([0-9]{1,4})" /system/cache/cat/$subdomain/$1.html break;
try_files $uri $request_uri;
有什么提示吗?谢谢!
更新: 我尝试了以下。Nginx 在文件系统中寻找 $request_uri(例如,/cat/12345)而不是访问应用服务器。有什么想法吗?
try_files $uri @old;
location @old {
rewrite ^ $request_uri break;
}