Kopflose Magnolia: Virtuelle URIs abbilden
Wenn Sie Magnoliaals Headless Content Management kennenlernen möchten, aber nicht wissen, wo Sie anfangen sollen, sind Sie hier genau richtig. Im Rahmen unserer Serie "Headless Magnolia" werden wir relevante Funktionen aufschlüsseln, die es Ihnen ermöglichen, Magnolia als Headless CMS zu nutzen.
In diesem Artikel werden wir uns ansehen, wie eine eingehende Anfrage an ein Ziel umgeleitet werden kann, auch bekannt als virtuelle URI-Zuordnung:
Von: /ilm
An: /product/i_love/magnolia
Wo werden virtuelle URI-Zuordnungen verwendet?
Virtuelle URIs werden im Marketing häufig verwendet, um die Länge einer URL zu verkürzen, zum Beispiel für:
Microsites
Landing-Seiten
Produkt-Seiten
Kampagnen- und Konversionsseiten
Downloads
Veranstaltungen und Konferenzen
Eitelkeits-URLs
Andere Gründe für die Umleitung von URLs hängen mit der täglichen Wartung der Website zusammen, wie z. B.:
1. eine Seite wurde aufgrund einer Umstrukturierung der Website verschoben. Die Nutzer haben jedoch noch die alte URL als Lesezeichen gespeichert, ebenso die Suchmaschinen-Indizes. Ohne Weiterleitung würde der Verkehr zu Ihrer alten Seite verloren gehen.
2. Wenn Sie mehrere Domain-Endungen wie example.net und example.org besitzen, möchten Sie diese wahrscheinlich auf Ihre primäre Website example.com umleiten. Sie können in Ihrer Magnolia-Site-Definition mehrere Domain-Namen einer Site zuordnen. Dies kann für ein CMS-Team eine große Zeitersparnis bedeuten, da keine Konfiguration eines Webservers erforderlich ist.
Beachten Sie, dass Sie die Domains zuerst bei einem Registrar registrieren und sicherstellen müssen, dass die DNS-Einträge für die Domains auf den Server zeigen, der Ihre Magnolia-Instanz hostet.
Schließlich können Sie URI-Mappings verwenden, um einen vorlagenbasierten JSON-Anbieter in eine RESTful-API zu verwandeln, z. B. eine FTP-Magnolia-Seite, die JSON zurückgibt:
Ursprünglicher Pfad: /getjson/tours/magnolia-travels/Kyoto
Zielpfad: /getjson?workspace=tours&path=/magnolia-travels/Kyoto
Kopflose Magnolia: Aufbau einer einfachen SPA mit Magnolia-Vorlagen
In diesem Artikel unserer Headless Magnolia Serie erstellen wir eine einfache Singe Page Application (SPA), die Sie in der Magnolia Pages App bearbeiten können.
Konfiguration
Sie können virtuelle URI-Zuordnungen erstellen, indem Sie eine YAML-Konfigurationsdatei im Ordner virtualUriMappings in der Konfiguration Ihres Moduls anlegen. Für jede URI-Zuordnung ist eine eigene Datei erforderlich.
Bitte beachten Sie, dass der Ordnername im Plural angegeben werden muss und für "URI" die Groß- und Kleinschreibung verwendet werden muss, also "Uri".
Datei: <mein-modul>/virtualUriMappings/enterprise-edition.yaml
Klasse: info.magnolia.virtualuri.mapping.DefaultVirtualUriMapping fromUri: /ilm toUri: forward:/product/i_love/magnolia
Die Eigenschaften sind:
!#class#!: Die Klasse
- die das Mapping durchführt. Lesen Sie den Abschnitt über Mapping-Klassen weiter unten.
fromUri: Das Muster
- das im angeforderten URI übereinstimmen soll.
toUri: Der URI
- auf den die Anfrage mit einem Aktionspräfixnamen abgebildet werden soll.
site: Erforderlich für die Klasse MultiSiteRegexpVirtualUriMapping zur Angabe der Site
- die für die Zuordnung verwendet werden soll.
Zuordnung von Klassen und Aktionspräfixen
Magnolia bietet eine Reihe von Klassen, die ein virtuelles URI-Mapping durchführen.
Dies sind die am häufigsten verwendeten:
info.magnolia.virtualuri.mapping.DefaultVirtualUriMapping#! bildet einen virtuellen URI auf einen Inhaltspfad ab. Dies ist der einfachste und häufigste Typ.
info.magnolia.virtualuri.mapping.RegexpVirtualUriMapping ermöglicht die Angabe eines Musters für einen regulären Ausdruck
- der auf eine Folge von Zeichen passt. Ein Regexp-Muster kann mit einer Vielzahl von URIs übereinstimmen
- was Zeit und Mühe spart
- da Sie sonst für jede URI eine Standardzuordnung erstellen müssten. toUri kann Rückverweise auf die Regexp-Matches enthalten.
info.magnolia.multisite.mapping.MultiSiteRootVirtualUriMapping ist eine spezielle Klasse
- die die Wurzel einer Site angibt
- wenn der Site-Abgleich null ergibt.
info.magnolia.multisite.mapping.MultiSiteRegexpVirtualUriMapping erweitert die URI-Prüfung um eine Site-Bedingung. Ein Mapping passt nur dann auf eine Anfrage
- wenn sowohl der angegebene reguläre Ausdruck als auch die angegebene Site übereinstimmen.
In toUri können Sie diese Aktionspräfixe verwenden:
forward verbirgt die Ziel-URL für den Besucher. Die URL
- die der Benutzer in die Adressleiste des Browsers eingegeben hat
- oder der Link
- auf den er geklickt hat
- ändert sich für ihn nicht.
redirect gibt den HTTP-Antwortstatuscode "302 Found" an den Client zurück. Während dies für menschliche Besucher in Ordnung ist
- ist diese Methode nicht ideal für die Suchmaschinenoptimierung (SEO)
- da die Suchmaschinen den Page Rank der alten URL nicht auf die neue URL übertragen
- wenn sie diesen Code erhalten.
permanent ist eine suchmaschinenfreundliche Weiterleitungsoption. Sie gibt den HTTP-Antwortstatuscode "301 Moved Permanently" zurück und erhält das Suchmaschinenranking für die umgeleitete Seite.
proxy leitet die ursprüngliche URL an eine externe URL weiter.
Beispiele
Klasse: info.magnolia.virtualuri.mapping.RegexpVirtualUriMapping fromUri: ^/static/(.*) toUri: redirect:https://external-domain.com/static/$1
Klasse: info.magnolia.virtualuri.mapping.RegexpVirtualUriMapping fromURI: ^/profile/(.*)/(.*)$ toURI: forward:/people-profile-page
Klasse: info.magnolia.virtualuri.mapping.DefaultVirtualUriMapping fromUri: /foo toUri: forward:/bar
Klasse: info.magnolia.virtualuri.mapping.MultiSiteRootVirtualUriMapping site: site-one fromUri: /lorem toUri: redirect:https://www.magnolia-cms.com
Erfahren Sie mehr über die Headless-Funktionen von Magnolia
Diese Serie über die kopflose Magnolie wird folgende Themen behandeln:
Mapping virtueller URIs (Sie sind hier)
Nodes Endpoint API und Commands Endpoint API