Når kompilerede statiske sider er genereret og uploadet til sitets statiske mappe, skal du publicere eller genpublicere sitet for at gøre siderne aktive. På samme måde skal du publicere eller genpublicere, når du har fjernet de statiske filer fra sitet, for at vende tilbage til funktionsmåden for ikke-kompileret sitelevering.
Under publicering gøres de uploadede statiske sider tilgængelige for levering. Da disse filer kopieres under publiceringsprocessen, kan ydeevnen for publiceringsoperationen reduceres proportionalt med antallet af filer.
Publiceringsoperationen tager det aktuelle sæt statiske filer og gør dem tilgængelige for levering. Disse filer er muligvis eller muligvis ikke synkroniseret med eventuelle ændringer, der er foretaget på det dynamiske site, og de afspejler muligvis eller afspejler muligvis ikke det dynamiske site. Opdateringen af samlingen af statiske filer på de relevante tidspunkter er siteudviklerens ansvar.
Når et site har tilknyttede statiske filer, leveres de pågældende filer til matchende URL'er, der kommer ind på serveren. Hvis en indgående URL ikke matcher en statisk fil, returneres sitets controller.html
-fil for anmodningen. Dette følger den eksisterende dynamiske model for sitelevering.
Oracle Content Management-sites kan også definere 301- og 302-omdirigeringer gennem en tilknyttet JSON-fil. Når der er konfigureret omdirigeringer, har omdirigeringerne forrang i forhold til statiske filer. Hvis en URL matcher både en omdirigeringsregel og en statisk fil, leveres omdirigeringen fra serveren.
URL-evalueringen for sitelevering følger dette flow:
I så fald skal du udstede et omdirigeringssvar.
Hvis listen over statiske mobilbrugeragenter er konfigureret for sitet, og anmodningen kommer fra en browser, der matcher listen, skal du levere den statiske mobilfil.
controller.html
.Bemærk:
Hvis der er knyttet statiske mobilfiler til sitet, og kunden bruger en CDN til levering, skal CDN'en (normalt Akamai) være konfigureret til at cache mobilbrowseranmodninger adskilt fra standarddesktopanmodninger.
Hvis CDN'en ikke er konfigureret med separat mobil-/standardcaching, modtager mobilbrowsere muligvis standardsvar, og desktopbrowsere modtager muligvis svar, der er beregnet til mobilbrowsere.
HTTP-headere i svar fra webservere hjælper med at bestemme, hvordan browsere cacher sider. Statiske sider leveres også med caching-headere for at gøre browser-caching nemmere.
Hvad angår sikre sites, sendes følgende headere sammen med svar:
Hvad angår standardsites, sendes følgende headere:
Cache-Control: max-age=300
Edge-Control: !no-store,max-age=2592000,downstream-ttl=1800
Headeren Edge-Control
gør funktionsmåden for CDN-caching nemmere
Hvis du har tilpasset headerne i et af disse to områder, har svaret de tilpassede headere i stedet for de standardheadere, der er angivet her.
Du kan styre disse svar på lejerniveau eller siteniveau.
Detaljesider på Oracle Content Management-sites gør det muligt for en enkelt side at vise oplysninger for flere indholdselementer.
Den samme detaljeside kan for eksempel bruges til at håndtere flere URL'er. Hver af disse URL'er ville vise den samme sidestruktur, men ville vise det indhold, der er relateret til de indholdselementer, hvis slug-værdier er henholdsvis item1.html
, item2.html
og item3.html
. I denne situation kan cec-skabelon-compileren oprette fire filer:
/detail/item1.html
/detail/item2.html
/detail/item3.html
/detail.html
Den endelige fil gør det muligt at vise nypubliceret materiale på websitet, uden at sitet skal kompileres og publiceres igen. I dette eksempel publiceres et indholdselement med slug-værdien item4.html
, efter at sitet er online. Den statiske side /detail.html
gør det muligt at vise dette nye element dynamisk på sitet. URL'en /detail/item4.html
ville levere siden detail.html
, men vise indhold, der er relateret til indholdselementet item4.html
.
cec-compileren genererer siden detail.html
for at vise indholdselementer. Derfor har relative URL'er på den kompilerede detail.html
-side ekstra overordnede segmenter (../
). Det betyder, at hvis der refereres direkte til siden, vil selve siden detail.html
ikke blive vist korrekt. Derfor skal der ikke refereres til selve siden detail.html
, og den skal ikke føjes til sidenavigation.