Was fehlt mir für dieses CQ5 / AEM-URL-Umschreibeszenario?
Grundsätzlich möchte ich, dass kurze URLs aufgelöst und HTML-Seiten mit kurzen URLs für eine CQ5-Website generiert werden. Bisher werden kurze URLs erwartungsgemäß langen URLs zugeordnet, aber die Links in den generierten HTML-Seiten werden nicht gekürzt.
Zum Beispiel erwarte ich diesrc
Attribut der folgenden<script>
Etikett:
<script type="text/javascript" src="/content/foo/c0/06/9d/3d93a858-efb4-4619-8f9e-5edc65d0f5ae/style/clientlibs.1395978029951.js"></script>
Zu verkürzen auf:
<script type="text/javascript" src="/style/clientlibs.1395978029951.js"></script>
Aber es ist und bleibt nicht intakt.href
Attribute in Ankerelementen werden ebenfalls nicht gekürzt.
In JCR ist die Website unter gespeichert/content/foo/c0/06/9d/3d93a858-efb4-4619-8f9e-5edc65d0f5ae/
und ich habe meine/etc/hosts
und Apache-Konfigurationsdateien, um den Zugriff über zu ermöglichenhttp://site-1:4503
in meiner lokalen Entwicklungsumgebung.
Ich habe die folgenden URL-Zuordnungen definiert:
{
"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/$"
}
}
}
Wenn ich diese Zuordnung in JCR Resolver teste (http://localhost:4503/system/console/jcrresolver
), es funktioniert wie erwartet. Zum Beispiel,
/content/foo/c0/06/9d/3d93a858-efb4-4619-8f9e-5edc65d0f5ae/style/clientlibs.1395978029951.js
ist zugeordnet zu
http://site-1:4503/style/clientlibs.1395978029951.js
und
http://site-1:4503/style/clientlibs.1395978029951.js
ist beschlossen zu:
JcrNodeResource,
type=cq:ClientLibraryFolder,
superType=null,
path=/content/foo/c0/06/9d/3d93a858-efb4-4619-8f9e-5edc65d0f5ae/style/clientlibs
Auch wenn ich gehe zuhttp://site-1:4503/style/clientlibs.1395978029951.js
In meinem Browser wird die JS-Datei wie erwartet gerendert.
Wenn ich jedoch, wie bereits erwähnt, die HTML-Quelle für die Homepage anzeige, wird keine der langen URLs in ihre Kurzform umgeschrieben.
Irgendwelche Ideen, was ich hier vermisse?