Kopflose Magnolia: Virtuelle URIs abbilden
März 29, 2022
--
Virtual URI Mapping 1200x628

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

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

YAML
  Klasse: info.magnolia.virtualuri.mapping.RegexpVirtualUriMapping fromUri: ^/static/(.*) toUri: redirect:https://external-domain.com/static/$1  
YAML
  Klasse: info.magnolia.virtualuri.mapping.RegexpVirtualUriMapping fromURI: ^/profile/(.*)/(.*)$ toURI: forward:/people-profile-page  
YAML
  Klasse: info.magnolia.virtualuri.mapping.DefaultVirtualUriMapping fromUri: /foo toUri: forward:/bar  
YAML
  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:

Über den autor

Bartosz Staryga

Front-End Solution Architect, Magnolia

Bartosz is an expert in headless content management and front-end development at Magnolia. He designs and develops new Magnolia features and supports customers with their headless implementations from content types to APIs to integrations. Bartosz enjoys building new things and seeing them in action. He is also a trainer for Magnolia’s Headless training.