此问题仅在此处可见。我已经解决了。在下面找到答案。
我们设置了以下重定向规则,这是我们当时唯一的重定向规则:
RewriteRule "/(.*)(.html)$" "/content/my-company/$1.html" [PT]
如您所见,如果我请求/en.html
,则上述规则应将其重写为/content/my-company/en.html
。
这是我们遇到的问题:
如果我按顺序执行以下操作,这是我在每个步骤中得到的信息:
https://example.com/en.html
->返回404,并且该请求未到达发布服务器(已在request.log中验证为发布)https://example.com/content/my-comany/en.html
-成功(200)。请求到达发布服务器,现在已缓存在调度程序中路径cache-directory/content/my-comany/en.html
下的https://example.com/en.html
,它将正确返回页面(200)。似乎可以将其用于缓存?似乎调度程序使用的是重写的url,只有在它存在于调度程序缓存中时才使用,否则返回404。
答案 0 :(得分:0)
在此处查看调度程序模块的adobe文档:https://helpx.adobe.com/experience-manager/dispatcher/using/dispatcher-install.html#ApacheWebServerConfigureApacheWebServerforDispatcher
有一个名为DispatcherUseProcessedURL
的选项。在我们的配置中,它已设置为0
,但应将其设置为1
,以便调度程序模块可以使用重写的(处理后的)URL。
这解决了我们的问题!