AEM调度程序仅提供缓存中的重写URL

时间:2018-11-30 21:05:11

标签: aem

此问题仅在此处可见。我已经解决了。在下面找到答案。

我们设置了以下重定向规则,这是我们当时唯一的重定向规则:

RewriteRule "/(.*)(.html)$" "/content/my-company/$1.html" [PT]

如您所见,如果我请求/en.html,则上述规则应将其重写为/content/my-company/en.html

这是我们遇到的问题:

如果我按顺序执行以下操作,这是我在每个步骤中得到的信息:

  1. 完全手动清除清除调度程序缓存。
  2. 请求https://example.com/en.html->返回404,并且该请求未到达发布服务器(已在request.log中验证为发布)
  3. 请求https://example.com/content/my-comany/en.html-成功(200)。请求到达发布服务器,现在已缓存在调度程序中路径cache-directory/content/my-comany/en.html下的
  4. 现在,如果我从步骤1请求https://example.com/en.html,它将正确返回页面(200)。似乎可以将其用于缓存?

似乎调度程序使用的是重写的url,只有在它存在于调度程序缓存中时才使用,否则返回404。

1 个答案:

答案 0 :(得分:0)

在此处查看调度程序模块的adobe文档:https://helpx.adobe.com/experience-manager/dispatcher/using/dispatcher-install.html#ApacheWebServerConfigureApacheWebServerforDispatcher

有一个名为DispatcherUseProcessedURL的选项。在我们的配置中,它已设置为0,但应将其设置为1,以便调度程序模块可以使用重写的(处理后的)URL。

这解决了我们的问题!