在CDN或Dispatcher重定向Adobe Experience Manager期间查询参数丢失

在Adobe Experience Manager as a Cloud Service中,在重定向期间会删除utm、gclid和fbclid等查询参数。 当CDN删除参数或重定向忽略查询字符串时,此行为会影响重定向逻辑和跟踪。 要解决此问题,请更新CDN配置并使用正确的重定向规则。

描述 description

环境

Adobe Experience Manager as a Cloud Service

Adobe Experience Manager资产

问题/症状

  • UTM参数(如utm_source、utm_campaign或gclid)在重定向后消失。
  • 依赖于%{QUERY_STRING}的Dispatcher重定向规则不执行。
  • 使用reqProperty: path时,CDN级别重定向会删除所有查询参数。
  • 重定向在本地或AMS中工作,但在云环境中失败。

解决方法 resolution

要解决此问题,请执行以下步骤:

  1. 确定在访问Dispatcher之前查询参数是否缺失,或仅在重定向期间缺失。

  2. 使用以下结构在存储库中创建或更新cdn.yaml文件:

    code language-none
    kind: "CDN"
    version: "1"
    metadata:
      envTypes: [ "dev", "stage", "prod"]
    data:
      requestTransformations:
        removeMarketingParams: false
        rules: [ ]
    
  3. 如果验证失败,缺少rules属性,请在requestTransformations下添加一个空的rules: [ ]条目。

  4. 重新测试并确认查询参数已保留。

  5. 检查cdn.yaml和Dispatcher配置中是否存在冲突的重定向规则。

  6. 如果使用CDN重定向,请设置reqProperty: url而不是reqProperty: path

  7. 确认匹配和转换规则适用于包含查询参数的URL。

  8. 更新Dispatcher重定向规则以使用QSA保留查询参数:

    code language-none
    RewriteRule /path$ /target [ R=301,L,QSA]
    

相关阅读

recommendation-more-help
experience-cloud-kcs-help-kbarticles