Vanity-URLs für Dispatcher | AEM

In diesem Dokument erfahren Sie, wie Adobe Experience Manager mit Vanity-URLs und zusätzlichen Techniken umgeht, z. B. mit Umschreibungsregeln, um Inhalte näher an den Versandrand zu bringen.

Beschreibung description

Umgebung

Adobe Experience Manager

Probleme/Symptome

Wie geht AEM mit Vanity-URLs um? Gibt es zusätzliche Techniken, um Inhalte näher am Versandrand zuzuordnen?

Was sind Vanity-URLs?

Wenn Sie Inhalt haben, der in einer sinnvollen Ordnerstruktur lebt, wird er nicht immer in einer URL gespeichert, die einfach zu referenzieren ist. Vanity-URLs sind wie Tastaturbefehle. Kürzere oder eindeutige URLs, die auf den tatsächlichen Inhalt verweisen.

Beispiel: /aboutus mit /content/we-retail/us/en/about-us.html

AEM Autoren haben die Möglichkeit, Eigenschaften von Vanity-URLs für Inhalte in AEM festzulegen und zu veröffentlichen.

Damit diese Funktion funktioniert, müssen Sie die Dispatcher-Filter anpassen, damit die Vanity durchlaufen wird. Dies ist mit der Anpassung der Dispatcher-Konfigurationsdateien in der Geschwindigkeit nicht sinnvoll, die Autoren zum Einrichten dieser Vanity-Seiteneinträge benötigen würden.

Aus diesem Grund verfügt das Dispatcher-Modul über eine Funktion, mit der automatisch alles zugelassen wird, was in der Inhaltsstruktur als Vanity aufgeführt ist.

Auflösung resolution

Funktionsweise

Erstellen von Vanity-URLs

Der Autor besucht eine Seite in AEM, besucht die Seiteneigenschaften und fügt die Einträge in den Vanity-URL-Abschnitt ein.

Nachdem sie ihre Änderungen gespeichert und die Seite aktiviert haben, wird dieser Seite nun die Vanity zugewiesen.

Touch-Benutzeroberfläche:

Classic Content Finder:

Hinweis: Bitte verstehen Sie, dass dies sehr anfällig für Namespace-Probleme ist. Vanity-Einträge sind global für alle Seiten, dies ist nur einer der Mängel, für die Sie Umgehungen planen müssen. Wir werden einige davon später erläutern.

Resource Resolving/Mapping:

Jeder Vanity-Eintrag ist ein Sling-Map-Eintrag für eine interne Umleitung. Diese Maps sind in der Felix-AEM-Konsole (/system/console/jcrresolver)

Im Folgenden finden Sie einen Screenshot eines Map-Eintrags, der von einem Vanity-Eintrag erstellt wurde:

Im obigen Beispiel, wenn wir die AEM-Instanz auffordern, /aboutus wird /content/we-retail/us/en/about-us.html

Dispatcher-Filter mit automatischer Genehmigung:

Die Dispatcher in einem sicheren Status filtert Anforderungen im Pfad / über die Dispatcher heraus, da dies der Stamm der JCR-Struktur ist.

Es ist wichtig sicherzustellen, dass Herausgeber nur Inhalte von der /content und andere sichere Pfade usw… und nicht Pfade wie /system usw.

Hier sind die Rumpf-, Vanity-URLs im Basisordner von /. Wie können wir also zulassen, dass sie die Herausgeber erreichen, während sie sicher bleiben?

Der einfache Dispatcher verfügt über einen automatischen Filterallow-Mechanismus. Sie müssen ein AEM-Paket installieren und dann den Dispatcher so konfigurieren, dass er auf diese Paketseite verweist. Besuch here für das AEM Paket.

Dispatcher enthält einen Konfigurationsabschnitt in der Farm-Datei:

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

Diese Konfiguration weist die Dispatcher an, diese URL alle 300 Sekunden von ihrer AEM-Instanz abzurufen, um die Liste der Elemente abzurufen, die wir zulassen möchten.

Es speichert seinen Cache der Antwort im /file-Argument, sodass in diesem Beispiel /tmp/vanity_urls

Wenn Sie also die AEM-Instanz unter dem URI besuchen, sehen Sie, was sie abruft:

Es ist eine supereinfache Liste.

Regeln als Vanity-Regeln neu schreiben

Warum sollten wir die Verwendung von Neuschreibungsregeln anstelle des Standardmechanismus erwähnen, der wie oben beschrieben in AEM integriert wurde?

Erläuterung: Namespaces, Leistung und Logik auf höherer Ebene, die besser verarbeitet werden können.

Sehen wir uns ein Beispiel für den Vanity-Eintrag an /aboutus auf ihren Inhalt /content/we-retail/us/en/about-us.html mit den mod_rewrite -Modul, um dies zu erreichen.

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

Diese Regel sucht nach der Eitelkeit /aboutus und rufen Sie den vollständigen Pfad mit dem PT-Flag (Pass Through) vom Renderer ab.

Es wird auch die Verarbeitung aller anderen Regeln L Flag (Letzte) stoppen, was bedeutet, dass es nicht auf einer riesigen Liste von Regeln wie JCR Resolving zu durchlaufen hat.

Diese beiden Elemente dieser Methode erfordern nicht nur die Proxy-Anforderung, sondern auch die Wartezeit, bis der AEM Publisher auf diese beiden Elemente reagiert.

Dann ist das Eisen auf dem Kuchen hier das NC-Flag (Keine Groß-/Kleinschreibung), d. h. wenn Sie die URL mit /Aboutus anstelle von /aboutus Es funktioniert weiterhin und ermöglicht den Abruf der richtigen Seite.

Um hierfür eine Neuschreibungsregel zu erstellen, erstellen Sie eine Konfigurationsdatei für die Dispatcher (Beispiel: /etc/httpd/conf.d/rewrites/examplevanity_rewrite.rules) und fügen Sie ihn in die .vhost -Datei, die die Domäne verarbeitet, auf die diese Vanity-URLs angewendet werden müssen.

Im Folgenden finden Sie ein Beispiel für einen Code-Snippet der Include-Komponente:

/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

Welche Methode und wo soll sie angewendet werden?

A. Die Verwendung von AEM zur Steuerung von Vanity-Einträgen bietet folgende Vorteile:

  • Autoren können sie direkt erstellen
  • Sie leben mit dem Inhalt und können mit dem Inhalt gepackt werden

B. Verwendung mod_rewrite zur Steuerung von Vanity-Einträgen hat die folgenden Vorteile:

  • Schnellere Auflösung von Inhalten
  • Näheres zu den Inhaltsanforderungen von Endbenutzern
  • Mehr Erweiterbarkeit und Optionen zur Steuerung der Inhaltszuordnung unter anderen Bedingungen
  • Kann nicht von der Groß-/Kleinschreibung abhängig sein

C. Verwenden Sie beide Methoden, aber hier finden Sie die Ratschläge und Kriterien, die Sie verwenden sollten, wenn:

  • Wenn die Vanity temporär ist und wenig Traffic geplant ist, verwenden Sie die AEM integrierte Funktion .
  • Wenn die Vanity ein Hefter-Endpunkt ist, der sich nicht häufig ändert und häufig verwendet wird, verwenden Sie eine mod_rewrite Regel.
  • Wenn der Vanity-Namespace (zum Beispiel: /aboutus) für viele Marken auf derselben AEM-Instanz wiederverwendet werden, verwenden Sie dann Rewrite-Regeln.

Hinweis: Wenn Sie die AEM Vanity-Funktion verwenden und Namespace vermeiden möchten, können Sie eine Namenskonvention vornehmen. Verwenden von Vanity-URLs, die verschachtelt sind wie /brand1/aboutus, brand2/aboutus, brand3/aboutus

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