我基本上希望短網址得到解決,並使用CQ5網站的短網址生成HTML頁面。到目前爲止,短網址已按照預期映射到長網址,但生成的HTML網頁中的鏈接不會縮短。我對CQ5/AEM URL重寫場景缺少什麼?
例如,我期待下面<script>
標籤的src
屬性:
<script type="text/javascript" src="/content/foo/c0/06/9d/3d93a858-efb4-4619-8f9e-5edc65d0f5ae/style/clientlibs.1395978029951.js"></script>
要縮短爲:
<script type="text/javascript" src="/style/clientlibs.1395978029951.js"></script>
但它是不是和保持不變。錨元素中的屬性也不會縮短。
在JCR中,網站存儲在/content/foo/c0/06/9d/3d93a858-efb4-4619-8f9e-5edc65d0f5ae/
下,並且我配置了我的/etc/hosts
和Apache配置文件,使其可以通過本地開發環境中的http://site-1:4503
進行訪問。
我已經定義了下面的URL映射:
{
"jcr:primaryType":"sling:Folder",
"http":{
"jcr:primaryType":"sling:Folder",
"site-1.4503":{
"sling:internalRedirect":[
"/content/foo/c0/06/9d/3d93a858-efb4-4619-8f9e-5edc65d0f5ae"
],
"jcr:primaryType":"sling:Mapping",
"redirect":{
"sling:internalRedirect":[
"/content/foo/c0/06/9d/3d93a858-efb4-4619-8f9e-5edc65d0f5ae/$1",
"/$1"
],
"jcr:primaryType":"sling:Mapping",
"sling:match":"(.+)$"
}
},
"site_1.4503":{
"sling:internalRedirect":[
"/content/foo/c0/06/9d/3d93a858-efb4-4619-8f9e-5edc65d0f5ae/home.html"
],
"jcr:primaryType":"sling:Mapping",
"sling:match":"site-1.4503/$"
}
}
}
當我測試在JCR解析器(http://localhost:4503/system/console/jcrresolver
)此映射,它按預期方式工作。例如,
/content/foo/c0/06/9d/3d93a858-efb4-4619-8f9e-5edc65d0f5ae/style/clientlibs.1395978029951.js
映射到
http://site-1:4503/style/clientlibs.1395978029951.js
和
http://site-1:4503/style/clientlibs.1395978029951.js
被解析爲:
JcrNodeResource,
type=cq:ClientLibraryFolder,
superType=null,
path=/content/foo/c0/06/9d/3d93a858-efb4-4619-8f9e-5edc65d0f5ae/style/clientlibs
而且當我去http://site-1:4503/style/clientlibs.1395978029951.js
在我的瀏覽器中, JS文件按預期呈現。
但是,當我查看主頁的HTML源代碼時,正如我前面提到的那樣,沒有一個長URL會被重寫爲它們的縮寫形式。
任何想法我在這裏想念什麼?
Tomek,謝謝你的回覆。然而,正如我在我的問題中提到的,即使錨元素的href沒有被重寫。我會在明天看看我們的LinkCheckerTransformerFactory的配置,看看有沒有什麼不合適的。 – Behrang
我再次檢查了我們的'CQ CQ Link Checker變壓器'配置,並且配置正確。我添加了'script:src'來重寫元素,但它仍然沒有踢入。 – Behrang
Tomek,'LinkCheckerTransformerFactory'是否只重寫「破碎」的鏈接? [This](http://helpx.adobe.com/experience-manager/kb/DisableLinkChecker.html)以某種方式讓人這麼想。或者它是否也將長URL轉換爲短URL(例如/content/foo/home.html到/home.html)? – Behrang