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.

Ein Beispiel: /aboutus zeigt auf /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.

Auflösen/Zuordnen der Ressource:

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

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

Wenn wir die AEM-Instanz auffordern, /aboutus zu besuchen, wird sie in /content/we-retail/us/en/about-us.html aufgelöst

Automatische Dispatcher-Filter:

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 aus dem /content und anderen sicheren Pfaden usw. zulassen 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. Besuchen Sie hier 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 dazu ein Beispiel für den Vanity-Eintrag /aboutus an, um seinen Inhalt /content/we-retail/us/en/about-us.html mit dem Apache-Modul mod_rewrite zu bearbeiten.

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

Diese Regel sucht nach der Vanity /aboutus und ruft den vollständigen Pfad mit der PT-Markierung (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 durchsetzen, funktioniert es weiterhin und lässt die richtige Seite abrufen.

Um eine Umschreibungsregel zu erstellen, erstellen Sie eine Konfigurationsdatei auf der Dispatcher (Beispiel: /etc/httpd/conf.d/rewrites/examplevanity_rewrite.rules) und fügen Sie sie in die Datei .vhost ein, 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. Die Verwendung von mod_rewrite zur Steuerung von Vanity-Einträgen bietet folgende 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 es sich bei der Vanity um einen Heftendpunkt handelt, der sich nicht häufig ändert und häufig verwendet wird, verwenden Sie eine mod_rewrite -Regel.
  • Wenn der Vanity-Namespace (z. B. /aboutus) für viele Marken auf derselben AEM-Instanz wiederverwendet werden muss, verwenden Sie Neuschreibungsregeln.

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

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