我正在使用Liip Cache Control bundle来处理项目中的缓存。通过使用此捆绑包,您可以像这样配置缓存:
liip_cache_control:
rules:
- { path: /admin, controls: { private: true}, vary: [Accept-Encoding] }
- { path: ^/_internal, controls: {private: true, max_age: 0}}
- { path: ^/([^/]*)/live/time(.*), controls: { public: true, max_age: 1, s_maxage: 1 }, vary: [Accept-Encoding,Cookie] }
现在每个esi(内部)路由都没有缓存。但我现在想要缓存一个内部请求。知道如何配置这个吗?我找不到实际用于执行此请求的路由。
亲切的问候,大安
答案 0 :(得分:2)
所有ESI调用都通过_internal路由(example from Using ESI in Symfony2)处理:
# app/config/routing.yml
_internal:
resource: "@FrameworkBundle/Resources/config/routing/internal.xml"
prefix: /_internal
LiipCacheControlBundle的文档提到了如何生成内部路由:
使用ESI时,[...]生成相应的_internal路线, 将http_kernel注入您的控制器并使用 HttpKernel :: generateInternalUri,其中的参数与树枝中的参数相同 渲染标记。
您是否尝试在liip_cache_control列表中添加适当的规则?我想它应该以“/ _internal”开头(尝试使用generateInternalUri来查看实际生成的内容)。