實作管道專用URL重新導向
瞭解如何在AEM as a Cloud Service中實作管線免費URL重新導向,讓行銷團隊無需開發人員即可管理重新導向。
在AEM中有多個管理URL重新導向的選項,如需詳細資訊,請參閱URL重新導向。
本教學課程著重於在類似Apache RewriteMap的文字檔案中建立URL重新導向,作為索引鍵值配對,並使用AEM as a Cloud Service的特定設定將其載入Apache/Dispatcher模組。
先決條件
若要完成本教學課程,您需要:
-
版本為 或更高18311 的AEM as a Cloud Service環境。
-
必須在其上部署範例WKND Sites專案。
教學課程使用案例
為了示範,假設WKND行銷團隊正在啟動新的滑雪行銷活動。 他們想要為滑雪冒險頁面建立簡短URL,並像管理內容一樣自行管理。 他們決定使用管線免費URL重新導向方法來管理URL重新導向。
根據行銷團隊的需求,以下是需要建立的URL重新導向。
現在,讓我們瞭解如何在AEM as a Cloud Service環境中管理這些URL重新導向,以及需要的一次性Dispatcher設定。
如何管理URL重新轉向 manage-redirects
若要管理URL重新導向,有多個可用選項,讓我們來探索這些選項。
DAM中的文字檔
URL重新導向能以文字檔案中的機碼值組形式管理,並上傳至AEM數位資產管理(DAM)。
例如,上述URL重新導向可儲存在名為skicampaign.txt
的文字檔中,並上傳至DAM @ /content/dam/wknd/redirects
資料夾。 稽核及核准後,行銷團隊可以發佈文字檔案。
# Ski Campaign Redirects separated by the TAB character
/ski /us/en/adventures.html
/ski/northamerica /us/en/adventures/downhill-skiing-wyoming.html
/ski/westcoast /us/en/adventures/tahoe-skiing.html
/ski/europe /us/en/adventures/ski-touring-mont-blanc.html
DAM中的
ACS Commons — 重新導向地圖管理員
ACS Commons — 重新導向對應管理員提供方便好用的介面,可管理URL重新導向。
例如,行銷團隊可以建立名稱為SkiCampaign
的新 重新導向對應 頁面,並使用 編輯專案 索引標籤新增上述URL重新導向。 URL重新導向可在/etc/acs-commons/redirect-maps/skicampaign/jcr:content.redirectmap.txt
取得。
ACS Commons — 重新導向管理員
另外,ACS Commons — 重新導向管理員也提供方便好用的介面來管理URL重新導向。
例如,行銷團隊可以建立名為/conf/wknd
的新設定,並使用 +重新導向設定 按鈕新增上述URL重新導向。 URL重新導向可在/conf/wknd/settings/redirects.txt
取得。
如何設定Dispatcher
若要以RewriteMap形式載入URL重新導向,並將它們套用至傳入請求,則需要下列Dispatcher設定。
為彈性模式啟用Dispatcher模組
首先,確認Dispatcher模組已啟用 彈性模式。 dispatcher/src/opt-in
資料夾中有USE_SOURCES_DIRECTLY
個檔案表示Dispatcher處於彈性模式。
以RewriteMap載入URL重新導向
接下來,在dispatcher/src/opt-in
資料夾中建立新的組態檔managed-rewrite-maps.yaml
,其結構如下。
maps:
- name: <MAPNAME>.map # e.g. skicampaign.map
path: <ABSOLUTE_PATH_TO_URL_REDIRECTS_FILE> # e.g. /content/dam/wknd/redirects/skicampaign.txt, /etc/acs-commons/redirect-maps/skicampaign/jcr:content.redirectmap.txt, /conf/wknd/settings/redirects.txt
wait: false # Optional, default is false, when true, the Apache waits for the map to be loaded before starting
ttl: 300 # Optional, default is 300 seconds, the reload interval for the map
在部署期間,Dispatcher會在/tmp/rewrites
資料夾中建立<MAPNAME>.map
檔案。
managed-rewrite-maps.yaml
)和位置(dispatcher/src/opt-in
)應該與上述完全相同,請將其視為要遵循的慣例。套用URL重新導向至傳入要求
最後,建立或更新Apache重寫設定檔案以使用上述對應(<MAPNAME>.map
)。 例如,讓我們使用dispatcher/src/conf.d/rewrites
資料夾中的rewrite.rules
檔案來套用URL重新導向。
...
# Use the RewriteMap to define the URL redirects
RewriteMap <MAPALIAS> dbm=sdbm:/tmp/rewrites/<MAPNAME>.map
RewriteCond ${<MAPALIAS>:$1} !=""
RewriteRule ^(.*)$ ${<MAPALIAS>:$1|/} [L,R=301]
...
設定範例
讓我們檢閱以上提及的每個URL重新導向管理選項的Dispatcher設定。
當URL重新導向以文字檔案中的機碼值組形式管理,並上傳至DAM時,設定如下。
[dispatcher/src/opt-in/managed-rewrite-maps.yaml]{class="badge neutral" title="以下程式碼範例的檔案名稱。"}
code language-yaml |
---|
|
[dispatcher/src/conf.d/rewrites/rewrite.rules]{class="badge neutral" title="以下程式碼範例的檔案名稱。"}
code language-none |
---|
|
使用ACS Commons — 重新導向對應管理員管理URL重新導向時,設定如下。
[dispatcher/src/opt-in/managed-rewrite-maps.yaml]{class="badge neutral" title="以下程式碼範例的檔案名稱。"}
code language-yaml |
---|
|
[dispatcher/src/conf.d/rewrites/rewrite.rules]{class="badge neutral" title="以下程式碼範例的檔案名稱。"}
code language-none |
---|
|
使用ACS Commons — 重新導向管理員管理URL重新導向時,設定如下。
[dispatcher/src/opt-in/managed-rewrite-maps.yaml]{class="badge neutral" title="以下程式碼範例的檔案名稱。"}
code language-yaml |
---|
|
[dispatcher/src/conf.d/rewrites/rewrite.rules]{class="badge neutral" title="以下程式碼範例的檔案名稱。"}
code language-none |
---|
|
如何部署設定
若要部署設定,請使用Cloud Manager中的完整棧疊或Web層設定管道。
部署成功後,URL重新導向就會啟用,行銷團隊無需開發人員即可管理。
如何測試URL重新轉向
讓我們使用瀏覽器或curl
命令來測試URL重新導向。 存取/ski/westcoast
URL並確認它重新導向至/us/en/adventures/tahoe-skiing.html
。
摘要
在本教學課程中,您已瞭解如何使用AEM as a Cloud Service環境中的管道免費設定來管理URL重新導向。
行銷團隊可以管理URL重新導向,將其視為文字檔案中的索引鍵/值組,並將其上傳至DAM或使用ACS Commons — 重新導向對應管理員或重新導向管理員。 Dispatcher設定已更新,可將URL重新導向載入為RewriteMap,並將其套用至傳入請求。