1

我正在使用Liip Cache Control 包来处理我的项目中的缓存。通过使用这个包,你可以像这样配置缓存:

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(内部)路由都没有被缓存。但我现在想要缓存一个内部请求。知道如何配置吗?我找不到实际用于执行此请求的路由。

亲切的问候,

大安

4

1 回答 1

2

所有 ESI 调用都通过 _internal 路由处理(示例来自在 Symfony2 中使用 ESI):

# app/config/routing.yml
_internal:
    resource: "@FrameworkBundle/Resources/config/routing/internal.xml"
    prefix:   /_internal

LiipCacheControlBundle的文档提到了如何生成内部路由:

使用 ESI 时,[...] 要生成相应的 _internal 路由,请将 http_kernel 注入控制器并使用 HttpKernel::generateInternalUri 和 twig 渲染标签中的参数。

您是否尝试将适当的规则添加到您的 liip_cache_control 列表中?我想它应该以“/_internal”开头(尝试使用 generateInternalUri 来查看实际生成的内容)。

于 2012-07-11T16:12:50.557 回答