Dispatcher Vanity URL's | AEM
Dit document helpt u begrijpen hoe Adobe Experience Manager vanity-URL's en aanvullende technieken verwerkt, zoals het gebruik van herschrijfregels om inhoud dichter bij de afleveringsrand te brengen.
Beschrijving description
Milieu
Adobe Experience Manager
Kwesties/Symptomen
Hoe gaat AEM om met ijdelheid-URL's? Zijn er extra technieken om inhoud dichter aan de rand van levering in kaart te brengen?
Wat zijn Vanity URLs?
Wanneer u inhoud hebt die in een omslagstructuur leeft die steek houdt het niet altijd in een URL leeft die gemakkelijk om is te verwijzen. Vanity URL's zijn vergelijkbaar met sneltoetsen. Kortere of unieke URL's die verwijzen naar waar de echte inhoud zich bevindt.
Een voorbeeld: /aboutuswees in /content/we-retail/us/en/about-us.html
AEM Auteurs hebben de optie om URL-eigenschappen van het type vanity in te stellen voor inhoud in AEM en deze te publiceren.
Deze functie werkt alleen als u de verzenderfilters aanpast, zodat de ijdelheid erdoor heen kan. Dit wordt onredelijk te doen met het aanpassen van de de configuratiedossiers van de verzender aan het tarief dat de auteurs deze ingang van de ijdeligheidspagina zouden moeten plaatsen.
Om deze reden heeft de verzendingsmodule een functie om automatisch alles toe te staan dat als een ijdelheid in de inhoudsstructuur wordt vermeld.
Resolutie resolution
Hoe werkt het?
URL's van Auteurs Vanity
De auteur bezoekt een pagina in AEM en bezoekt de pagina-eigenschappen en voegt items toe in de vanity URL-sectie.
Nadat de wijzigingen zijn opgeslagen en de pagina is geactiveerd, wordt de ijdelheid nu toegewezen aan deze pagina.
Aanraakinterface :
Klassieke Vinder van de Inhoud :
Nota: gelieve te begrijpen dit aan namespace kwesties zeer kwetsbaar is. Vanity-inzendingen zijn globaal voor alle pagina's. Dit is slechts een van de tekortkomingen waarvoor u tijdelijke oplossingen moet plannen. We zullen er later een paar toelichten.
Resolving/Afbeelding van het Middel :
Elke ijdelingvermelding is een sling map-item voor een interne omleiding. Deze kaarten zijn zichtbaar in de AEM instanties Felix console (/system/console/jcrresolver
)
Hier volgt een schermafbeelding van een kaartitem dat is gemaakt door een ijdelingvermelding:
In het bovenstaande voorbeeld wanneer we de AEM-instantie vragen /aboutus
te bezoeken, wordt het omgezet naar /content/we-retail/us/en/about-us.html
Dispatcher auto-staat filters toe:
De Dispatcher in een veilige status filtert verzoeken uit op het pad/door de Dispatcher, omdat dat de basis van de JCR-structuur is.
Het is belangrijk om ervoor te zorgen dat uitgevers alleen inhoud van de /content
en andere veilige paden, enzovoort, toestaan en niet paden zoals /system
.
Hier zijn de rub, ijdelheid URL's die in de basismap van / staan, dus hoe kunnen we ze toestaan om de uitgevers te bereiken terwijl ze veilig blijven?
Eenvoudige dispatcher heeft een mechanisme voor automatisch filteren. U dient een AEM te installeren en vervolgens de Dispatcher te configureren zodat deze naar die pakketpagina wijst. Bezoek hiervoor het AEM pakket.
Dispatcher heeft een configuratiesectie in zijn landbouwbedrijfdossier:
/vanity_urls { /url "/libs/granite/dispatcher/content/vanityUrls.html"
/file "/tmp/vanity_urls" /delay 300 }
Deze configuratie vertelt de Dispatcher om deze URL van zijn AEM instantie te halen het om de 300 seconden negeert om de lijst van punten te halen wij door willen toestaan.
Het slaat zijn geheime voorgeheugen van de reactie in het /file argument zo in dit voorbeeld /tmp/vanity_urls op
Als u dus de AEM-instantie op de URI bezoekt, ziet u wat deze ophaalt:
Het is een supereenvoudige lijst.
Regels herschrijven als Vanity Rules
Waarom zouden wij het gebruiken van herschrijven regels in plaats van het standaardmechanisme noemen dat in AEM zoals hierboven beschreven wordt gebouwd?
Uitgelicht eenvoudig, namespace kwesties, prestaties, en hoger-vlakke logica die beter kunnen worden behandeld.
Hiervoor gebruikt u de module /content/we-retail/us/en/about-us.html
van Apache mod_rewrite
om een voorbeeld van het ijdelheidsitem /aboutus
in de inhoud te bekijken.
RewriteRule /aboutus /content/we-retail/us/en/about-us.html PT,L,NC
Deze regel zoekt naar de ijdelheid /aboutus
en haalt het volledige pad van de renderer met de PT-vlag (Doorheen halen).
De toepassing stopt ook met het verwerken van alle andere regels L-markering (Laatste), wat betekent dat er geen grote lijst met regels hoeft te worden doorlopen, zoals bij JCR oplossen.
Samen met het niet moeten van volmacht het verzoek en wachten op de AEM uitgever om op deze twee elementen van deze methode te antwoorden maakt het veel uitvoerbaarder.
De pictogrammen op de cake hier zijn dan de NC-markering (geen hoofdletters/kleine letters). Dit betekent dat als u de URL doorbladert met /Aboutus
in plaats van /aboutus
, deze nog steeds werkt en dat de juiste pagina kan worden opgehaald.
Als u hiervoor een herschrijfregel wilt maken, maakt u een configuratiebestand op de Dispatcher (bijvoorbeeld: /etc/httpd/conf.d/rewrites/examplevanity_rewrite.rules
) en neemt u dit op in het .vhost
-bestand dat het domein afhandelt waarvoor deze vanity URL's moeten worden toegepast.
Hier volgt een voorbeeld van een codefragment van de include-code in:
/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
Welke methode en waar moet deze worden gebruikt?
A. Het gebruik van AEM om ijdelingangen te controleren heeft de volgende voordelen:
- Auteurs kunnen ze direct maken
- Ze leven met de inhoud en kunnen worden verpakt met de inhoud
B. Het gebruik van mod_rewrite
om items met een ijdelheid te besturen, heeft de volgende voordelen:
- Sneller inhoud oplossen
- Dichter bij de rand van verzoeken om inhoud voor eindgebruikers
- Meer uitbreidbaarheid en opties om te bepalen hoe inhoud wordt toegewezen aan andere voorwaarden
- Kan niet hoofdlettergevoelig zijn
C. Gebruik beide methoden, maar hier is het advies en de criteria die moeten worden gehanteerd wanneer:
- Als de ijdelheid tijdelijk is en lage geplande niveaus van verkeer heeft, dan gebruik de AEM ingebouwde eigenschap
- Als de ijdelheid een hoofdeindpunt is dat niet vaak verandert en vaak wordt gebruikt, gebruikt u een
mod_rewrite
-regel. - Als de naamruimte vanity (bijvoorbeeld:
/aboutus
) opnieuw moet worden gebruikt voor een groot aantal merken op dezelfde AEM, gebruikt u herschrijfregels.
Nota: als u de AEM ijdeligenschap wilt gebruiken en namespace vermijden kunt u een noemende overeenkomst maken. Gebruikend vanity URLs die als /brand1/aboutus, brand2/aboutus, brand3/aboutus
genestelde