Чего мне не хватает в этом сценарии перезаписи URL CQ5 / AEM?
Я хочу, чтобы короткие URL-адреса были разрешены, а HTML-страницы создавались с короткими URL-адресами для веб-сайта CQ5. Пока что короткие URL-адреса отображаются на длинные URL-адреса, как и ожидалось, но ссылки на сгенерированных HTML-страницах не сокращаются.
Например, я ожидаюsrc
атрибут следующего<script>
тег:
<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>
Но это не так и остается нетронутым.href
атрибуты в элементах привязки также не сокращаются.
В 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 Resolver (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 не переписывается в их сокращенные формы.
Есть идеи, что мне здесь не хватает?