Чего мне не хватает в этом сценарии перезаписи 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 не переписывается в их сокращенные формы.

Есть идеи, что мне здесь не хватает?

Ответы на вопрос(2)

Ваш ответ на вопрос