URL Vanity Dispatcher | AEM
Ce document vous aidera à comprendre comment Adobe Experience Manager gère les URL de redirection vers un microsite et d’autres techniques, telles que l’utilisation de règles de réécriture pour rapprocher le contenu des limites de la diffusion.
Description description
Environnement
Adobe Experience Manager
Problèmes/Symptômes
Comment AEM traite-t-il les URL de redirection vers un microsite ? Existe-t-il des techniques supplémentaires pour mapper le contenu plus près de la périphérie de la diffusion ?
Que sont les URL Vanity ?
Lorsque le contenu se trouve dans une structure de dossiers logique, il ne réside pas toujours dans une URL facile à référencer. Les URL Vanity sont comme des raccourcis. URL plus courtes ou uniques qui référencent l’emplacement du contenu réel.
Exemple : /aboutus pointé vers /content/we-retail/us/en/about-us.html
AEM les auteurs ont la possibilité de définir les propriétés de l’URL Vanity sur un élément de contenu dans AEM et de le publier.
Pour que cette fonction fonctionne, vous devrez ajuster les filtres du Dispatcher pour permettre l’utilisation de la redirection vers un microsite. Cela devient déraisonnable en raison de l’ajustement des fichiers de configuration du Dispatcher à la vitesse à laquelle les auteurs doivent configurer ces entrées de page Vanity.
Pour cette raison, le module de Dispatcher dispose d’une fonctionnalité permettant d’autoriser automatiquement tout élément répertorié comme une URL Vanity dans l’arborescence de contenu.
Résolution resolution
Comment cela fonctionne-t-il ?
Création d’URL Vanity
L’auteur visite une page dans AEM et visite les propriétés de la page et ajoute les entrées de l’auteur dans la section URL Vanity.
Une fois les modifications enregistrées et la page activée, l’URL Vanity est désormais affectée à cette page.
IU tactile :
Classic Content Finder:
Remarque : Veuillez comprendre que cela est très vulnérable aux problèmes d’espace de noms. Les entrées Vanity sont globales à toutes les pages, ce n'est qu'une des lacunes que vous devez prévoir des solutions. Nous en expliquerons quelques-uns plus tard.
Résolution/mappage des ressources:
Chaque entrée de redirection vers un microsite est une entrée de mappage Sling pour une redirection interne. Ces mappages sont visibles dans la console Felix des instances AEM (/system/console/jcrresolver
)
Voici une capture d’écran d’une entrée map créée par une entrée Vanity :
Dans l'exemple ci-dessus, lorsque nous demandons à l'instance d'AEM de visiter /aboutus
, elle est résolue sur /content/we-retail/us/en/about-us.html
Filtres d’autorisation automatique Dispatcher:
Le Dispatcher dans un état sécurisé filtre les requêtes au chemin d’accès/par le biais de Dispatcher, car il s’agit de la racine de l’arborescence JCR.
Il est important de s’assurer que les éditeurs autorisent uniquement le contenu provenant de /content
et d’autres chemins d’accès sécurisés, etc., et non des chemins tels que /system
etc.
Voici le problème : les URL Vanity résident dans le dossier de base de / alors comment leur permettre d’atteindre les éditeurs tout en restant en sécurité ?
Le Dispatcher simple dispose d’un mécanisme d’autorisation de filtre automatique. Vous devez installer un module AEM, puis configurer Dispatcher pour qu’il pointe vers cette page de modules. Visitez ici pour le package AEM.
Dispatcher comporte une section de configuration dans son fichier de ferme :
/vanity_urls { /url "/libs/granite/dispatcher/content/vanityUrls.html"
/file "/tmp/vanity_urls" /delay 300 }
Cette configuration indique à Dispatcher de récupérer cette URL à partir de son instance d’AEM qu’elle devance toutes les 300 secondes pour récupérer la liste des éléments que nous voulons autoriser.
Il stocke son cache de la réponse dans l’argument /file , de sorte que dans cet exemple /tmp/vanity_urls
Ainsi, si vous visitez l’instance AEM à l’URI, vous verrez ce qu’elle récupère :
C'est une liste très simple.
Réécrire des règles en tant que règles Vanity
Pourquoi mentionnerions-nous l’utilisation de règles de réécriture au lieu du mécanisme par défaut intégré à AEM, comme décrit ci-dessus ?
Explication simple : problèmes d’espace de noms, performances et logique de niveau supérieur qui peuvent être mieux gérés.
Passons en revue un exemple de l’entrée Vanity /aboutus
à son contenu /content/we-retail/us/en/about-us.html
en utilisant le module mod_rewrite
d’Apache pour y parvenir.
RewriteRule /aboutus /content/we-retail/us/en/about-us.html PT,L,NC
Cette règle recherche l’URL Vanity /aboutus
et récupère le chemin complet du rendu avec l’indicateur PT (Pass Through).
Cela arrête également le traitement de tous les autres indicateurs de règles L (Last), ce qui signifie qu’il n’aura pas à parcourir une liste énorme de règles comme JCR Resolving doit le faire.
En plus de ne pas avoir à remplacer la requête et attendre que l’éditeur AEM réponde, ces deux éléments de cette méthode la rendent beaucoup plus performante.
Ensuite, la cerise sur le gâteau ici est l’indicateur NC (non sensible à la casse), ce qui signifie que si vous flouez l’URL avec /Aboutus
au lieu de /aboutus
, cela fonctionnera toujours et permettra de récupérer la page appropriée.
Pour créer une règle de réécriture, vous devez créer un fichier de configuration sur Dispatcher (exemple : /etc/httpd/conf.d/rewrites/examplevanity_rewrite.rules
) et l’inclure dans le fichier .vhost
qui gère le domaine auquel ces URL de redirection vers un microsite doivent s’appliquer.
Voici un exemple de fragment de code de l’inclusion à l’intérieur :
/etc/httpd/conf.d/enabled_vhosts/we-retail.vhost
VirtualHost *:80 ServerName weretail.com ServerAlias
www.weretail.com ........ SNIP ........ IfModule mod_rewrite.c
ReWriteEngine on LogLevel warn rewrite:info
Include /etc/httpd/conf.d/rewrites/examplevanity_rewrite.rules / IfModule
........ SNIP ......../VirtualHost
Quelle méthode et où l’utiliser ?
A. L’utilisation d’AEM pour contrôler les entrées Vanity présente les avantages suivants :
- Les auteurs peuvent les créer à la volée
- Ils vivent avec le contenu et peuvent être conditionnés avec le contenu.
B. L’utilisation de mod_rewrite
pour contrôler les entrées Vanity présente les avantages suivants :
- Résoudre le contenu plus rapidement
- Plus près du bord des requêtes de contenu des utilisateurs finaux
- Plus d’extensibilité et d’options pour contrôler la manière dont le contenu est mappé sur d’autres conditions
- Peut ne pas respecter la casse
C. Utilisez les deux méthodes, mais voici les conseils et les critères sur lesquels vous pouvez vous baser lorsque :
- Si l’URL Vanity est temporaire et a de faibles niveaux de trafic prévus, utilisez la fonction intégrée AEM
- Si la redirection vers un microsite est un point de terminaison de base qui ne change pas souvent et qui est fréquemment utilisé, utilisez une règle
mod_rewrite
. - Si l’espace de noms Vanity (par exemple :
/aboutus
) doit être réutilisé pour de nombreuses marques sur la même instance d’AEM, utilisez des règles de réécriture.
Remarque : Si vous souhaitez utiliser la fonction d’AEM Vanity et éviter l’espace de noms, vous pouvez créer une convention d’affectation de nom. Utilisation d’URL de redirection vers un microsite imbriquées comme /brand1/aboutus, brand2/aboutus, brand3/aboutus