2015-02-11 81 views
2

我想將網頁domain/content/myProject/home.html映射到domain/home.html。不需要/content/myProject/。我有以下代碼:如何映射網址?

String newpath = getResourceResolver().map(page.getPath()); 

這不會改變任何東西。新路是留page.getPath()

如何解決這個問題?

+0

你有映射設置在「/ etc/map/http」嗎? – 2015-02-11 17:00:10

+0

Sarath提到要麼在/ etc/map/http或OSGi中映射來自資源解析器工廠的URL映射。如果它只與家庭相關,則可以在頁面屬性中使用虛空路徑。 – Thomas 2015-02-17 14:52:25

回答

0

您需要創建地圖。然後資源解析器將負責修剪路徑。

CREATING映射定義在AEM

在標準安裝AEM,你可以找到該文件夾​​:

的/ etc /地圖/ HTTP

這是定義映射時所用的結構HTTP協議。其他文件夾(吊索:文件夾)可以在/ etc/map下爲您想要映射的任何其他協議創建。 配置內部重定向到/內容

要創建與前綴/內容到
http://localhost:4503/任何請求的映射:

  1. 使用CRXDE導航到/ etc /地圖/ HTTP。
  2. 創建一個新的節點:
  3. 類型吊帶:映射
  4. 這個節點類型適用於這樣的映射,但它的使用不是強制性的。
  5. 名稱localhost_any
  6. 單擊Save All。
  7. 將以下屬性添加到這個節點:
    名稱吊帶:比賽
    類型字符串
    值localhost.4503/
    名稱吊帶:內部重定向
    類型字符串
    值/內容/
    單擊全部保存。
    這將處理請求,例如: 本地主機:4503/geometrixx/EN/products.html放在 彷彿:
    本地主機:4503 /內容/ geometrixx/EN/products.html放在 已要求。

    你可以參考這裏瞭解更多文檔http://docs.adobe.com/docs/en/cq/5-6-1/deploying/resource_mapping.html
+1

這將重定向包括/ etc/designs和/ content/dam在內的所有內容,這些都將無法解析。 – jiggy 2015-03-12 22:53:20

0

的回答這個問題,因爲它仍然沒有答案。這裏的等映射應該怎麼看起來像一個例子: enter image description here

招是加2項吊帶:內部重定向爲/和/內容/例子/

AEM首先嚐試與第一個條目來解決資源'/'。因此,第一個條目將解決/ etc/designs,/ content/dam等非頁面URL。如果無法使用第一個解析,則它使用第二個條目解析頁面。

與其他技術(如Apache重定向)相比,這也是adobe推薦的URL縮短方式。