Die Ressourcenzuordnung wird verwendet, um Umleitungen, Vanity-URLs und virtuelle Hosts für AEM zu definieren.
Diese Zuordnungen können Sie beispielsweise verwenden, um:
/content
voranzustellen, sodass die interne Struktur für Besucher Ihrer Website ausgeblendet wird./content/en/gateway
Ihrer Website zu https://gbiv.com/
umgeleitet werden.Bei einer möglichen HTTP-Zuordnung wird allen Anfragen an localhost:4503
das Präfix /content
vorangestellt. Eine solche Zuordnung kann zum Ausblenden der internen Struktur für die Besucher der Website verwendet werden, da sie den Zugriff auf:
localhost:4503/content/we-retail/en/products.html
mithilfe von:
localhost:4503/we-retail/en/products.html
da die Zuordnung automatisch das Präfix /content
zu /we-retail/en/products.html
hinzufügt.
Vanity-URLs unterstützen keine Regex-Muster.
Weitere Informationen finden Sie in der Sling-Dokumentation sowie unter Zuordnungen für die Ressourcenauflösung und Ressourcen.
Die Zuordnungen bilden zwei Listen, die der JCR Resource Resolver auswertet (von oben nach unten), um eine Übereinstimmung zu finden.
Diese Listen können (zusammen mit Konfigurationsinformationen) unter der Option JCR ResourceResolver der Felix-Konsole angezeigt werden. Beispiel: https://<*host*>:<*port*>/system/console/jcrresolver
:
Configuration
Zeigt die aktuelle Konfiguration (wie für den Apache Sling-Ressourcen-Resolver definiert) an.
Configuration Test
Hiermit können Sie eine URL oder einen Ressourcenpfad eingeben. Klicken Sie auf Resolve oder Map, um festzulegen, wie das System den Eintrag transformiert.
Resolver Map Entries
Die Liste der Einträge, die von den ResourceResolver.resolve-Methoden für die Zuordnung von URLs zu Ressourcen verwendet wird.
Mapping Map Entries
Die Liste der Einträge, die von den ResourceResolver.map-Methoden für die Zuordnung von Ressourcenpfaden zu URLs verwendet wird.
Die beiden Listen enthalten verschiedene Einträge, darunter die von der/den Anwendung/en als Standardwerte definierten. Diese zielen häufig darauf ab, URLs für den Benutzer zu vereinfachen.
Das Listen-Paar enthält eine Muster, einen regulären Ausdruck, der mit der Anfrage übereinstimmt, mit einer Ersatz die die Umleitung definiert, die durchgesetzt werden soll.
Beispiel:
Muster ^[^/]+/[^/]+/welcome$
das
Ersatz /libs/cq/core/content/welcome.html
.
aus, um die Anforderung
https://localhost:4503/welcome
``
in:
https://localhost:4503/libs/cq/core/content/welcome.html
Neue Zuordnungsdefinitionen werden im Repository erstellt.
Es stehen eine Vielzahl von Ressourcen zur Verfügung, die das Definieren regulärer Ausdrücke erläutern, z. B. https://www.regular-expressions.info/.
In einer Standardinstallation von AEM finden Sie den Ordner:
/etc/map/http
Dies ist die Struktur, die beim Definieren von Zuordnungen für das HTTP-Protokoll verwendet wird. Wenn Sie Zuordnungen für weitere Protokolle erstellen möchten, können unter /etc/map
weitere Ordner (sling:Folder
) erstellt werden.
So erstellen Sie eine Zuordnung, die allen Anfragen an https://localhost:4503/ das Präfix /content
voranstellt:
Navigieren Sie mithilfe von CRXDE zu /etc/map/http
.
Erstellen Sie einen neuen Knoten:
Typ sling:Mapping
Der Knotentyp ist für diese Zuordnungen bestimmt, seine Verwendung ist jedoch nicht obligatorisch.
Name localhost_any
Klicken Sie auf Alle speichern.
Fügen Sie diesem Knoten die folgenden Eigenschaften hinzu:
Name sling:match
Typ String
Wert localhost.4503/
Name sling:internalRedirect
Typ String
Wert /content/
Klicken Sie auf Alle speichern.
Damit wird eine Anfrage wie die folgende behandelt:
localhost:4503/geometrixx/en/products.html
als ob:
localhost:4503/content/geometrixx/en/products.html
angefragt worden wäre.
Weitere Informationen zu den verfügbaren Sling-Eigenschaften und wie diese konfiguriert werden können, finden Sie in der Sling-Dokumentation unter Ressourcen
Beispiel: Zeichenfolgeninterpolation ist sehr nützlich, da sie es ermöglicht, eine Zuordnung zu konfigurieren, die Umgebungswerte durch Umgebungsvariablen erhält.
Die Konfigurationen für die Veröffentlichungsumgebung können unter /etc/map.publish
gespeichert werden. Diese müssen dann repliziert und der neue Speicherort (/etc/map.publish
) muss für den Zuordnungs-Speicherort des Apache Sling Resource Resolver der Veröffentlichungsumgebung konfiguriert werden.