Dispatcher Vanity URL:er | AEM

Det här dokumentet hjälper dig att förstå hur Adobe Experience Manager hanterar e-postadresser och andra tekniker, som att använda omskrivningsregler för att ta innehållet närmare leveranssidan.

Beskrivning description

Miljö

Adobe Experience Manager

Problem/symtom

Hur hanterar AEM vanity urls? Finns det ytterligare tekniker för att kartlägga innehåll som ligger närmare leveranskanterna?

Vad är Vanity-URL:er?

När du har innehåll som finns i en mappstruktur som är vettig finns det inte alltid i en URL som är enkel att referera till. Vanity-URL:er fungerar som genvägar. Kortare eller unika URL:er som refererar till det verkliga innehållet.

Ett exempel: /aboutus spetsig /content/we-retail/us/en/about-us.html

AEM författare har möjlighet att ange egenskaper för målarens URL för ett visst innehåll i AEM och publicera det.

För att den här funktionen ska fungera måste du justera dispatcherfiltren så att du kan hantera vantheten. Detta är orimligt om du justerar dispatcherkonfigurationsfilerna med den hastighet som författare måste konfigurera dessa poster för vanlighetssidan.

Av den anledningen har dispatchermodulen en funktion för att automatiskt tillåta allt som listas som en avvikelse i innehållsträdet.

Upplösning resolution

Hur fungerar det?

URL för redigering av Vanity

Författaren besöker en sida i AEM och besöker sidegenskaperna och lägger till poster i delen med huvudadressen.

När de har sparat sina ändringar och aktiverat sidan tilldelas den här sidan huvudrollen.

Pekgränssnitt:

Classic Content Finder:

Obs! Vänligen förstå att detta är mycket känsligt för namnområdesproblem. Vanity-posterna är globala för alla sidor, det här är bara en av de brister du måste planera tillfälliga lösningar för. Vi kommer att förklara några av dem senare.

Resurslösningar/mappning:

Varje post i Slug-kartan är en post för en intern omdirigering. Dessa kartor visas i AEM förekomster Felix-konsolen (/system/console/jcrresolver)

Här är en skärmbild av ett kartinlägg som skapats av ett värde för vanity:

I ovanstående exempel när vi ber AEM instansen att besöka /aboutus kommer det att leda till /content/we-retail/us/en/about-us.html

Dispatcher-filter för att tillåta automatiskt:

Dispatcher i ett säkert läge filtrerar bort begäranden på sökvägen/genom Dispatcher eftersom det är roten i JCR-trädet.

Det är viktigt att se till att utgivare bara tillåter innehåll från /content och andra säkra banor osv. och inte banor som /system osv.

Här är busken, fånighet-URL:er som finns i basmappen för / så hur kan vi låta dem nå utgivare samtidigt som de är säkra?

Den enkla dispatchern har en autofilterfunktion och du måste installera ett AEM och sedan konfigurera Dispatcher så att det pekar på den paketsidan. Besök här för AEM.

Dispatcher har ett konfigurationsavsnitt i sin servergruppsfil:

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

Den här konfigurationen anger för Dispatcher att hämta den här URL:en från den AEM instansen som den skickar var 300:e sekund för att hämta listan över objekt som vi vill tillåta igenom.

Cachen för svaret lagras i argumentet /file så i det här exemplet /tmp/vanity_urls

Så om du besöker den AEM instansen på URI:n ser du vad den hämtar:

Det är en superenkel lista.

Skriv om regler som vanlighetsregler

Varför skulle vi nämna att använda omskrivningsregler i stället för standardmekanismen som är inbyggd i AEM som beskrivs ovan?

Förklara enkelt namnutrymmesproblem, prestanda och logik på högre nivå som kan hanteras bättre.

Låt oss gå igenom ett exempel på vanity-posten /aboutus till innehållet /content/we-retail/us/en/about-us.html med Apache mod_rewrite för att uppnå detta.

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

Den här regeln kommer att leta efter fåfängligheten /aboutus och hämta den fullständiga sökvägen från renderaren med PT-flaggan (Pass Through).

Den kommer också att sluta bearbeta alla andra regler L-flaggor (sista), vilket innebär att den inte behöver gå igenom en stor lista med regler som JCR Resolving måste göra.

Förutom att du inte behöver göra en proxy för begäran och vänta på att den AEM utgivaren ska svara på de här två elementen i den här metoden gör det mycket mer prestandaförbättrande.

Sedan är ikonen här NC-flaggan (ingen skiftlägeskänslig), vilket innebär att du tömmer URL:en med /Aboutus i stället för /aboutus kommer det fortfarande att fungera och tillåta att rätt sida hämtas.

Om du vill skapa en omskrivningsregel för att göra detta skapar du en konfigurationsfil på Dispatcher (exempel: /etc/httpd/conf.d/rewrites/examplevanity_rewrite.rules) och inkludera den i .vhost -fil som hanterar den domän som behöver dessa vanlighets-URL:er för att kunna användas.

Här är ett exempel på ett kodfragment av SSI:

/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

Vilken metod och var den ska användas?

S. Att använda AEM för att styra poster för vanity har följande fördelar:

  • Författare kan skapa dem direkt
  • De lever med innehållet och kan paketeras ihop med innehållet

B. Använda mod_rewrite för att kontrollera poster i vanity har följande fördelar:

  • Snabbare lösning av innehåll
  • Nära gränsen mellan förfrågningar om slutanvändarinnehåll
  • Mer utbyggbarhet och alternativ för att styra hur innehåll mappas under andra förhållanden
  • Kan vara skiftlägeskänsliga

C. Använd båda metoderna, men här följer råd och kriterier som ska användas när:

  • Om huvudrollen är tillfällig och har låg planerad trafik använder du den AEM inbyggda funktionen
  • Om vanligheten är en stapelslutpunkt som inte ändras ofta och ofta används ska du använda en mod_rewrite regel.
  • Om namnutrymmet vanity (till exempel: /aboutus) måste återanvändas för många varumärken i samma AEM och sedan använda omskrivningsregler.

Obs! Om du vill använda AEM-funktionen och undvika namnutrymme kan du göra en namnkonvention. Använda egna URL:er som är kapslade som /brand1/aboutus, brand2/aboutus, brand3/aboutus

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