在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

若要修正問題,

  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。 他們現在應該可以正確解析為預期的內容。

其他考量事項

  • 雖然開箱即用(OOTB) CDN型請求轉換機制原本會鎖定發佈環境,但您可以透過設定管道部署適當的設定,將其擴充至作者環境。
  • Adobe建議在製作執行個體上使用完整路徑進行例行內容驗證。 請一律測試自訂轉換規則,以避免編寫工作流程中斷。

相關閱讀

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