URL de redirection Dispatcher | AEM

Ce document vous aidera à comprendre comment Adobe Experience Manager gère les URL de redirection 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 ? Existe-t-il d’autres techniques pour mapper le contenu plus près de la limite de la diffusion ?

Que sont les URL Vanity ?

Lorsque le contenu se trouve dans une structure de dossiers logique, il ne se trouve pas toujours dans une URL facile à référencer. Les URL de redirection sont comme des raccourcis. URL plus courtes ou uniques faisant référence à l’emplacement du contenu réel.

Un exemple : /about us pointant vers /content/we-retail/us/en/about-us.html

Les auteurs AEM ont la possibilité de définir des propriétés d’URL de redirection sur un élément de contenu dans AEM et de le publier.

Pour que cette fonctionnalité fonctionne, vous devez ajuster les filtres du Dispatcher pour autoriser le redirecteur. Cela devient déraisonnable par rapport à l’ajustement des fichiers de configuration du Dispatcher au rythme dont les auteurs auraient besoin pour configurer ces entrées de page de redirection.

Pour cette raison, le module Dispatcher dispose d’une fonctionnalité permettant d’autoriser automatiquement tout ce qui est répertorié comme Vanity dans l’arborescence de contenu.

Résolution resolution

Comment cela fonctionne-t-il ?

Création d’URL de redirection

L’auteur visite une page dans AEM, puis visite les propriétés de la page et ajoute les entrées de dans la section URL de redirection.

Une fois qu’elles ont enregistré leurs modifications et activé la page, la redirection est désormais affectée à cette page.

IU tactile:

Outil de recherche de contenu classique:

Remarque : Veuillez comprendre que ceci est très vulnérable aux problèmes d’espace de noms. Les entrées de redirection sont globales pour toutes les pages. Il s’agit simplement de l’une des lacunes que vous devez corriger. Nous en expliquerons quelques-uns plus tard.

Résolution/Mappage des ressources:

Chaque entrée Vanity 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 de carte créée par une entrée Vanity :

Dans l’exemple ci-dessus, lorsque nous demandons à l’instance AEM de nous rendre visite, /aboutus la résolution est /content/we-retail/us/en/about-us.html

Filtres d’autorisation automatique :

Le Dispatcher dans un état sécurisé filtre les requêtes au chemin / via le Dispatcher, car il s’agit de la racine de l’arborescence JCR.

Il est important de s’assurer que les éditeurs n’autorisent que le contenu provenant du /content et d’autres chemins sécurisés, etc., et non des chemins tels que /system, etc.

Voici le hic : les URL de redirection vivent dans le dossier de base de / alors comment leur permettons-nous d’atteindre les éditeurs tout en restant sécurisés ?

Le Dispatcher simple dispose d’un mécanisme d’autorisation de filtrage automatique. Vous devez installer un package AEM, puis configurer le Dispatcher pour pointer vers cette page de packages. Rendez-vous ici pour le package AEM.

Dispatcher dispose d’une section de configuration dans son fichier de batterie :

/vanity_urls {      /url    "/libs/granite/dispatcher/content/vanityUrls.html"
  /file   "/tmp/vanity_urls"      /delay  300 }

Cette configuration indique au Dispatcher de récupérer cette URL à partir de son instance AEM qu’il pointe toutes les 300 secondes pour récupérer la liste des éléments que nous voulons autoriser à passer.

Il stocke son cache de la réponse dans l’argument /file donc dans cet exemple /tmp/vanity_urls

Ainsi, si vous consultez l’instance AEM sur l’URI, vous verrez ce qu’elle récupère :

La liste est très simple.

Réécrire les règles en tant que règles de redirection

Pourquoi mentionner l’utilisation de règles de réécriture au lieu du mécanisme par défaut intégré à AEM comme décrit ci-dessus ?

En termes simples, les problèmes d’espace de noms, de performances et de logique de niveau supérieur qui peuvent être mieux gérés.

Examinons un exemple de /aboutus d’entrée Vanity à son contenu /content/we-retail/us/en/about-us.html d’utiliser le module mod_rewrite d’Apache pour accomplir cette opération.

RewriteRule /aboutus /content/we-retail/us/en/about-us.html PT,L,NC

Cette règle recherche le /aboutus Vanity et récupère le chemin d’accès complet à partir du moteur de rendu avec l’indicateur PT (Pass Through).

Il arrêtera également le traitement de toutes les autres règles L flag (Last), ce qui signifie qu’il n’aura pas à parcourir une énorme liste de règles comme JCR Resolving doit le faire.

Outre le fait de ne pas avoir à traiter la requête en proxy et d’attendre que l’éditeur AEM réponde à ces deux éléments de cette méthode, celle-ci est beaucoup plus performante.

Alors, la cerise sur le gâteau ici est l’indicateur NC (non sensible à la casse), ce qui signifie que si vous flupez l’URL avec /Aboutus au lieu de /aboutus, cela fonctionnera toujours et permettra de récupérer la bonne page.

Pour créer une règle de réécriture à cet effet, vous devez créer un fichier de configuration sur le Dispatcher (exemple : /etc/httpd/conf.d/rewrites/examplevanity_rewrite.rules) et l’inclure dans le fichier .vhost qui gère le domaine qui a besoin de ces URL Vanity pour 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 ?

R. 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 inclus dans le package

B. L’utilisation de mod_rewrite pour contrôler les écritures redirection présente les avantages suivants :

  • Résolution plus rapide du contenu
  • Plus proche de la limite des demandes 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 à utiliser lorsque :

  • Si le revers est temporaire et que de faibles niveaux de trafic sont prévus, utilisez la fonction intégrée d’AEM
  • Si le vanity est un point d’entrée de base qui ne change pas souvent et est utilisé fréquemment, utilisez une règle de mod_rewrite.
  • Si l’espace de noms Vanity (par exemple : /aboutus) doit être réutilisé pour de nombreuses marques sur la même instance AEM, utilisez des règles de réécriture.

Remarque : si vous souhaitez utiliser la fonction AEM Vanity et éviter l’espace de noms, vous pouvez établir une convention de nommage. Utilisation d’URL Vanity imbriquées de la même manière que /brand1/aboutus, brand2/aboutus, brand3/aboutus

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f