如何从CQ5调度程序缓存中排除从特定模板创建的页面?

Sha*_*awn 3 caching dispatcher day-cq aem

我有一个特定的Adobe CQ5(5.5)内容模板,作者将用它来创建页面.我想从调度程序缓存中排除从此模板创建的任何页面.据我所知,目前我知道阻止缓存的唯一方法是将dispatcher.any配置为缓存特定的URL.但在这种情况下,在Web作者使用模板创建页面之前,URL是未知的.我不希望每次创建页面时都返回并修改dispatcher.any - 或者至少我想在没有其他方法的情况下自动执行此操作.我正在使用IIS作为调度程序.我不想缓存页面的原因是因为为这些页面呈现内容的底层JSP产生动态内容,并且页面不使用查询字符串并且不携带认证头.页面将在不可预测的目录中创建,因此我不知道提前的URL模式.

如何配置事物,以便从调度程序缓存中自动排除从某个模板创建的任何页面?

似乎CQ应该有一些机制来尊重HTTP响应/缓存头.如果HTTP响应头指定不应该缓存响应,则调度程序似乎不应该缓存它 - 无论dispatcher.any说什么.这是我参考过的CQ5文档.

ant*_*nyh 6

我不知道Dispatcher的IIS版本,但是如果添加自定义HTTP标头"dispatcher:nocache",它肯定会使用Apache模块,它不会将页面缓存在Dispatcher中.你需要更改代码来添加它,这将是这样的:

    request.setHeader("Dispatcher", "nocache");
Run Code Online (Sandbox Code Playgroud)

它也可以作为html中的元标记,但我没有尝试过.

这在此处记录:http://dev.day.com/content/kb/home/Dispatcher/faq-s/DispatcherNoCache.html