如果我们在调度程序配置中使用/ ignoreUrlParams,即使参数值在AEM中发生变化,请求也会从缓存服务?

时间:2016-11-23 12:31:22

标签: aem dispatcher

AEM文档说

 When a parameter is ignored for a page, the page is cached the first time that the page is requested. Subsequent requests for the page are served the cached page, regardless of the value of the parameter in the request.

/ignoreUrlParams
{
    /0001 { /glob "*" /type "deny" }
    /0002 { /glob "q" /type "allow" }
}

如果我在调度程序配置中添加上述条目

GET /mypage.html?q=5
GET /mypage.html?q=65

根据文档给出相同的回复?如果是,/ ignoreUrlParams的好处是什么,哪个场景会有用?

1 个答案:

答案 0 :(得分:1)

这是因为来自文档的默认配置具有误导性,实际上是反过来的:/

如果您希望CACHE功能忽略某些Query参数,则将其设置为“allow”。如果您希望CACHE功能将具有特定查询的请求传递给CQ,则将“拒绝”

因此,如果您使用q参数获得搜索功能,那么您应该执行以下操作:

/ignoreUrlParams { /0001 { /glob "*" /type "allow" } /0002 { /glob "q" /type "deny" } }