nginx 配置:
location / {
rewrite ^/cache.html$ /cache.jsp last;
}
location ~ \.jsp {
proxy_pass http://127.0.0.1:85;
#if I add proxy_cache here,will be cache every JSP file,I don't want it
}
#location ~ \.html {
#I want cache all ".html" page,but it's not work.
#proxy_cache cache;
#....
#}
我使用重写规则将 /cache.html 映射到 /cache.jsp
我想要访问 http//localhost/cache.html 来缓存页面,
但访问 http//localhost/cache.jsp 时没有缓存,
怎么办?谢谢帮助:)
答案1
这不可能只是使用重写规则。
使其工作的唯一方法是通过代理返回页面并启用代理缓存。
您可以编写自定义位置以使其仅缓存特定的页面扩展,并且可以使用 if 语句来设置一次性缓存键,以使其看起来像页面未缓存,即使它实际上是为 1 个视图缓存的。
如果您正在考虑进入真正的基于规则的缓存领域,我建议您使用 Varnish。