Le mappage de ressource permet de définir des redirections, des URL Vanity et des hôtes virtuels pour AEM.
Par exemple, vous pouvez utiliser ces mappages pour :
/content
afin que la structure interne soit masquée pour les visiteurs de votre site web ;/content/en/gateway
de votre site Web soient redirigées vers https://gbiv.com/
.Un mappage HTTP possible consiste à préfixer toutes les demandes à localhost:4503
avec le répertoire /content
. Un mappage de ce type peut être utilisé pour masquer la structure interne vis-à-vis des visiteurs du site web, car il rend :
localhost:4503/content/we-retail/en/products.html
accessible à l’aide de :
localhost:4503/we-retail/en/products.html
car le mappage ajoutera automatiquement le préfixe /content
à /we-retail/en/products.html
.
Les URL Vanity ne prennent pas en charge les modèles regex.
Voir la documentation Sling et les sections Mappages pour la résolution de ressource et Ressources pour plus d’informations.
Les mappages forment deux listes que le résolveur de ressources JCR analyse (du haut vers le bas) pour trouver une correspondance.
Ces listes peuvent être visualisées (ainsi que des informations de configuration) sous l’option JCR ResourceResolver de la console Felix ; par exemple, https://<*host*>:<*port*>/system/console/jcrresolver
:
Configuration indique la configuration actuelle (telle que définie pour le résolveur de ressource Apache Sling).
Test de configuration. Cela permet de saisir une URL ou un chemin d’accès vers la ressource. Cliquez sur Resolve (Résoudre) ou Map (Mapper) pour confirmer la façon dont le système transforme l’entrée.
Resolver Map Entries (Entrées de mappage du résolveur) La liste des entrées utilisées par les méthodes ResourceResolver.resolve pour mapper les URL aux ressources.
Mapping Map Entries (Entrées de mappage) La liste des entrées utilisées par les méthodes ResourceResolver.map pour mapper les chemins d’accès des ressources aux URL.
Les deux listes affichent différentes entrées, y compris celles définies par défaut par les applications. Cela vise souvent à simplifier les URL pour l’utilisateur.
Les listes associe un modèle, une expression régulière correspondant à la demande, avec un remplacement qui définit la redirection à appliquer.
Par exemple :
Modèle ^[^/]+/[^/]+/welcome$
déclenche :
Remplacement /libs/cq/core/content/welcome.html
.
pour rediriger une requête :
https://localhost:4503/welcome
``
vers :
https://localhost:4503/libs/cq/core/content/welcome.html
De nouvelles définitions de mappage sont créées dans le référentiel.
Il existe de nombreuses ressources disponibles qui permettent d’expliquer comment définir les expressions régulières ; par exemple, https://www.regular-expressions.info/.
Dans une installation d’AEM standard, vous pouvez trouver le dossier :
/etc/map/http
Il s’agit de la structure utilisée lors de la définition des mappages pour le protocole HTTP. D’autres dossiers (sling:Folder
) peuvent être créés sous /etc/map
pour tout autre protocole que vous souhaitez mapper.
Pour créer le mappage qui préfixe toute demande de https://localhost:4503/ avec /content
:
À l’aide de CRXDE, accédez à /etc/map/http
.
Créez un nœud :
Type sling:Mapping
ce type de nœud est conçu pour de tels mappages, même si son utilisation n’est pas obligatoire.
Nom localhost_any
Cliquez sur Enregistrer tout.
Ajoutez les propriétés suivantes à ce nœud :
Nom sling:match
Type String
Valeur localhost.4503/
Nom sling:internalRedirect
Type String[]
Valeur /content/
Cliquez sur Enregistrer tout.
Cela permet de gérer une demande telle que :
localhost:4503/geometrixx/en/products.html
comme si :
localhost:4503/content/geometrixx/en/products.html
avait été demandé.
Voir Ressources dans la documentation Sling pour plus d’informations sur les propriétés sling disponibles et leur configuration.
Vous pouvez utiliser /etc/map.publish
pour conserver les configurations dans l’environnement de publication. Elles doivent ensuite être dupliquées, et le nouvel emplacement (/etc/map.publish
) configuré pour l’emplacement du mappage du résolveur de ressource Apache Sling de l’environnement de publication.