Show Menu
主題×

資源映射

資源對應可用來定義AEM的重新導向、虛名URL和虛擬主機。
例如,您可以使用這些映射來:
  • 在所有請求前加 /content 上前置詞,如此內部結構就會對網站訪客隱藏。
  • 定義重新導向,以便將網站頁 /content/en/gateway 面的所有請求重新導向至 https://gbiv.com/
一個可能的HTTP映射會將所有請求前置詞 localhost:4503 與一起 /content 。 像這樣的對應可用來隱藏內部結構,讓網站的訪客不看它允許:
localhost:4503/content/we-retail/en/products.html
要訪問,請使用:
localhost:4503/we-retail/en/products.html
因為映射會自動將前置詞添加 /content /we-retail/en/products.html
虛名URL不支援規則運算式模式。
如需詳細資訊,請參閱Sling 檔案和Mappings for Resource Resolution and Resources

查看映射定義

映射形成兩個清單,JCR資源解析器會評估(自上而下)以查找匹配。
在Felix控制台的 JCR ResourceResolver (資源解析器)選項下,可檢視這些清單(連同設定資訊);例如, https://<*host*>:<*port*>/system/console/jcrresolver :
  • 設定顯示目前的設定(如 Apache Sling Resource Resolver所定義 )。
  • 配置測試這允許您輸入URL或資源路徑。 單 擊解析 映射 ,確認系統將如何轉換條目。
  • Resolver Map Entries resourceResolver.resolve方法用於將URL映射到資源的條目清單。
  • 映射映射條 ​目ResourceResolver.map方法用於將資源路徑映射到URL的條目清單。
這兩個清單顯示各種條目,包括由應用程式定義為預設值的條目。 這些通常旨在簡化使用者的URL。
這些清單會將 Pattern (與請求相符的規則運算式)與 Replacement (取代)配對,後者定義要強加的重新導向。
例如:
圖樣 ^[^/]+/[^/]+/welcome$
將觸發:
替換 /libs/cq/core/content/welcome.html
若要重新導向請求:
https://localhost:4503/welcome ``
至:
https://localhost:4503/libs/cq/core/content/welcome.html
系統將在儲存庫中建立新的映射定義。
有許多資源可協助說明如何定義規則運算式;例如 https://www.regular-expressions.info/

在AEM中建立對應定義

在AEM的標準安裝中,您可以找到檔案夾:
/etc/map/http
這是定義HTTP協定映射時使用的結構。 您可以針對 sling:Folder 您要映射的任何其 /etc/map 他通訊協定,在下面建立其他資料夾()。

設定內部重新導向至/content

要建立將任何請求前置詞為https://localhost:4503/的映射,請執行以下操 /content 作:
  1. 使用CRXDE導航至 /etc/map/http
  2. 建立新節點:
    • Type sling:Mapping This node type is indered for such mappings, is its not mandactory.
    • 名稱 localhost_any
  3. 按一下「 全部儲存 」。
  4. 下列屬性新增至此節點:
    • 名稱 sling:match
      • 類型 String
      • localhost.4503/
    • 名稱 sling:internalRedirect
      • 類型 String
      • /content/
  5. 按一下「 全部儲存 」。
這將處理下列請求:如 localhost:4503/geometrixx/en/products.html 下所示:有人 localhost:4503/content/geometrixx/en/products.html 要求我。
請參 閱Sling Documentation中的Resources ,以取得sling屬性的詳細資訊,以及如何設定這些屬性。
您可以使 /etc/map.publish 用來保存發佈環境的配置。 然後必須複製這些檔案,並為發佈環境的 /etc/map.publish Apache Sling Resource Resolver 的Mapping Location (對應位置)設定新位置( osgi-configuration-settings.translate.html#apacheslingresourceresolver )。