資源對應可用來定義AEM的重新導向、虛名URL和虛擬主機。
例如,您可以使用這些映射來:
/content
,如此內部結構就會隱藏於您網站的訪客之外。/content/en/gateway
頁面的所有要求重新導向至https://gbiv.com/
。一個可能的HTTP映射會將所有請求前置詞為localhost:4503(含/content)。 像這樣的對應可用來隱藏內部結構,讓網站的訪客不看它允許:
localhost:4503/content/geometrixx/en/products.html
要訪問,請使用:
localhost:4503/geometrixx/en/products.html
因為映射將自動將前置詞/content
添加到/geometrixx/en/products.html
。
虛名URL不支援規則運算式模式。
如需詳細資訊,請參閱Sling說明檔案和Mappings for Resource Resolution和Resources。
映射形成兩個清單,JCR資源解析器會評估(自上而下)以查找匹配。
在Felix控制台的JCR ResourceResolver選項下,可檢視這些清單(連同設定資訊);例如,https://<host>:<port>/system/console/jcrresolver
:
設定
顯示目前的組態(如Apache Sling Resource Resolver的定義)。
配置測試
這可讓您輸入URL或資源路徑。 按一下解析或映射確認系統將如何轉換條目。
Resolver Map
EntriesResourceResolver.resolve方法用於將URL映射到資源的條目清單。
映射映
射條目ResourceResolver.map方法用於將資源路徑映射到URL的條目清單。
這兩個清單顯示各種條目,包括由應用程式定義為預設值的條目。 這些通常旨在簡化使用者的URL。
清單將與請求匹配的規則表達式模式與定義要施加的重定向的替換配對。
例如:
圖樣 ^[^/]+/[^/]+/welcome$
將觸發:
替換 /libs/cq/core/content/welcome.html
。
若要重新導向請求:
http://localhost:4503/welcome
至:
http://localhost:4503/libs/cq/core/content/welcome.html
系統將在儲存庫中建立新的映射定義。
有許多資源可協助說明如何定義規則運算式;例如https://www.regular-expressions.info/。
在AEM的標準安裝中,您可以找到檔案夾:
/etc/map/http
這是定義HTTP協定映射時使用的結構。 對於您要映射的任何其它協定,可以在/etc/map
下建立其他資料夾(sling:Folder
)。
要建立將任何請求前置詞為http://localhost:4503/的映射,請使用/content
:
使用CRXDE導航至/etc/map/http
。
建立新節點:
類型 sling:Mapping
此節點類型用於此類映射,但其用途不是強制性的。
名稱 localhost_any
按一下保存全部。
將 以下屬性添加到此節點:
名稱 sling:match
String
localhost.4503/
名稱 sling:internalRedirect
String
/content/
按一下保存全部。
這將處理下列請求:
localhost:4503/geometrixx/en/products.html
假設:
localhost:4503/content/geometrixx/en/products.html
被要求。
請參閱Sling Documentation中的Resources,以取得有關sling屬性的詳細資訊以及如何設定這些屬性。
您可以使用/etc/map.publish
來保存發佈環境的配置。 然後,必須複製這些檔案,並為發佈環境的Apache Sling資源解析器的Mapping Location設定新位置(/etc/map.publish
)。