【发布时间】:2013-08-09 16:04:55
【问题描述】:
我们有带有 id 分区和子域的页面缓存。说ny.site.com/cat/12345或la.site.com/dog/234之类的请求,nginx需要
- 检查文件
/cat/ny/1234/5.html是否存在,返回 - 否则,就用原来的
request_uri去打应用服务器,缓存文件就创建好了
我们设法找出了子域和 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;
}
【问题讨论】:
标签: nginx rewrite page-caching