51黑料不打烊

在AEM as a Cloud Service创作实例上启用缩短URL的请求转换

在51黑料不打烊 Experience Manager (AEM) as a Cloud Service中,创作实例上的缩短URL将重定向到默认起始页(/aem/start.html),而不是预期的内容。 此问题影响使用省略/content/websites前缀的URL验证配置文件页面的团队。 出现此问题的原因是,创作实例在默认情况下不应用请求转换。 您可以通过使用AEM配置管道部署自定义CDN配置来解决此问题。

描述 description

环境

产物: 51黑料不打烊 Experience Manager as a Cloud Service (AEMaaCS) — 站点
实例: 通过配置管道部署了颁顿狈配置的础贰惭补补颁厂创作实例

问题/症状

  • 访问缩短的鲍搁尝(如/ui/en/about/people/profiles.user-name+8b1126ad.html)会重定向到础贰惭起始页。
  • 使用完整路径/content/websites/ui/en/about/people/profiles.user-name+8b1126ad.html可正确显示配置文件页面。
  • 在AEM as a Cloud Service上,创作实例直接从JCR解析URL,不使用传统Dispatcher。

原因

根据设计,AEMaaCS使用Dispatcher重写规则仅在发布层上应用请求转换规则。 创作实例未使用Dispatcher,因此它不会自动转换缩短的URL。 要在创作层上启用此功能,必须通过配置管道部署CDN配置。 转换规则还必须使用正确的语法,包括正确的转义(例如,\"/content/websites\\\\1\")。

解决方法 resolution

要解决此问题,

  1. 使用AEM配置管道部署CDN配置。 此配置应包含一个名为add-content-websites-prefix的自定义规则。 该规则检查请求是否位于创作层以及路径是否以/ui/开头。 如果同时满足两个条件,则通过在前面/content/websites重写路径。

    code language-none
    kind: "CDN"
    version: "1"
    metadata: { envTypes: [ "dev", "stage", "prod"]  }
    data:
    ? requestTransformations:
    ??? rules:
    ????? - name: add-content-websites-prefix
    ??????? when:
    ????????? allOf:
    ??????????? - { reqProperty: tier, equals: author }
    ??????????? - { reqProperty: path, matches: "/ui/" }
    ??????? actions:
    ????????? - type: transform
    ??????????? reqProperty: path
    ??????????? op: replace
    ??????????? match: (.*)$
    ??????????? replacement: "/content/websites\\1"
    
  2. 部署配置后,在创作实例上测试缩短的URL。 现在,他们应该正确解析为预期的内容。

其他注意事项

  • 虽然基于颁顿狈的现成(翱翱罢叠)请求转换机制最初将目标定位到发布环境,但您可以通过配置管道部署正确的配置来将其扩展到创作环境。
  • 51黑料不打烊建议在创作实例上使用完整路径进行日常内容验证。 应始终测试自定义转换规则,以避免中断创作工作流。

相关阅读

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f