發布

產生經過編譯的靜態頁面並上傳到網站的靜態資料夾後,您必須發布或重新發布網站,頁面才能變成作用中。同樣地,若要回復成未編譯網站傳遞行為,從網站移除靜態檔案後,您必須發布或重新發布網站。

上傳的靜態頁面可於發布期間進行傳遞。因為這些檔案是在發布處理作業期間複製,發布作業的效能可能會依檔案數目等比例地降低。

發布作業使用目前的靜態檔案集,並讓他們可用來傳遞。這些檔案可能會與動態網站中發生的任何變更同步,也可能會鏡射動態網站。就留給網站開發人員在適當的時間更新靜態檔案集合。

靜態網站傳遞優先順序

當網站已經與靜態檔案關聯,會傳遞這些檔案以將相符 URL 傳送至伺服器。如果內送的 URL 與靜態檔案不相符,要求會傳回網站的 controller.html 檔案。這是依照網站傳遞的現有動態模型。

Oracle Content Management 網站也可以透過關聯的 JSON 檔案,定義 301 和 302 重新導向。設定重新導向後,重新導向的優先順序會高於靜態檔案。如果 URL 與重新導向規則和靜態檔案相符,將會從伺服器傳遞重新導向。

網站傳遞的 URL 評估依照此流程:

  1. URL 是否與設定的重新導向相符?

    如果相符,請發出重新導向回應。

  2. URL 是否相對應於靜態檔案?

    網站若設定行動靜態使用者代理程式清單,且要求來自與清單相符的瀏覽器,就會傳遞行動靜態檔案。

  3. 否則,將傳遞動態網站 controller.html 檔案。

註:

如果行動靜態檔案與網站關聯,且客戶使用 CDN 進行傳遞,則必須設定 CDN (通常是 Akamai) 以從標準桌面要求個別快取行動瀏覽器要求。

如果 CDN 未設定個別行動/標準快取,行動瀏覽器可能會收到標準回應,桌面瀏覽器可能會收到適用於行動瀏覽器的回應。

快取標頭

Web 伺服器回應中的 HTTP 標頭有助於判斷瀏覽器如何快取頁面。靜態頁面也會與快取標頭一起傳遞,以協助加快瀏覽器快取。

若為安全的網站,下列標頭將隨回應一起傳送:

  • Cache-Control: no-store
  • Pragma: no-cache

若為標準的非安全網站,將會傳送下列標頭:

  • Cache-Control: max-age=300
  • Edge-Control: !no-store,max-age=2592000,downstream-ttl=1800

    Edge-Control 標頭有助於加速 CDN 快取行為

如果您在這二者的其中一個區域中自訂了標頭,回應將包含自訂標頭,而不是此處所列的標準標頭。

您可以在租用戶層級或網站層級控制這些回應。

詳細資訊頁面

Oracle Content Management 網站的詳細資訊頁面可在單一頁面中顯示一些內容項目的資訊。

例如,可使用相同的詳細資訊頁面處理一些 URL。這些 URL 會顯示相同的頁面結構,但分別顯示的則是其網址代稱值為 item1.htmlitem2.html 以及 item3.html 之內容項目的內容。以此情況為例,cec 樣板編譯器可能會建立以下四個檔案:

  • /detail/item1.html
  • /detail/item2.html
  • /detail/item3.html
  • /detail.html

最後一個檔案的目的為讓新發布的內容無須重新編譯並重新發布網站,即可顯示在網站中。在本範例中,網址代稱值為 item4.html 的內容項目會在網站上線後才發布。靜態的 /detail.html 頁面可讓新項目以動態方式顯示在網站中。/detail/item4.html URL 會傳遞 detail.html 頁面,但會顯示 item4.html 內容項目的內容。

cec 編譯器會產生顯示內容項目的 detail.html 頁面。基於此原因,經過編譯之 detail.html 頁面中的相對 URL 將會有額外的父項區段 (../)。因此,如果直接參照,detail.html 頁面本身將不會正確顯示。所以,不應該參照 detail.html 頁面本身或將其新增至頁面導覽。