在AEM as a Cloud Service创作实例上启用缩短URL的请求转换
在Adobe Experience Manager (AEM) as a Cloud Service中,创作实例上的缩短URL将重定向到默认起始页(/aem/start.html
),而不是预期的内容。 此问题影响使用省略/content/websites
前缀的URL验证配置文件页面的团队。 出现此问题的原因是,创作实例在默认情况下不应用请求转换。 您可以通过使用AEM配置管道部署自定义CDN配置来解决此问题。
描述 description
环境
产品: Adobe Experience Manager as a Cloud Service (AEMaaCS) — 站点
实例: 通过配置管道部署了CDN配置的AEMaaCS创作实例
问题/症状
- 访问缩短的URL(如
/ui/en/about/people/profiles.user-name+8b1126ad.html
)会重定向到AEM起始页。 - 使用完整路径
/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
要解决此问题,
-
使用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"
-
部署配置后,在创作实例上测试缩短的URL。 现在,他们应该正确解析为预期的内容。
其他注意事项
- 虽然基于CDN的现成(OOTB)请求转换机制最初将目标定位到发布环境,但您可以通过配置管道部署正确的配置来将其扩展到创作环境。
- Adobe建议在创作实例上使用完整路径进行日常内容验证。 应始终测试自定义转换规则,以避免中断创作工作流。
相关阅读
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f