在AEM as a Cloud Service或AEM 6.5中使用Dispatcher發佈時,ZIP資產會傳回404

將ZIP檔案上傳至AEM DAM時,這些檔案會在「作者」中顯示為已發佈,但在「發佈」上存取時會傳回​ 404 ​錯誤。 其他資產型別(如PDF和影像)則可正常運作。 發生此情況是因為Dispatcher預設會封鎖ZIP請求。 若要修正此問題,請更新Dispatcher篩選規則以允許ZIP副檔名。

說明 description

環境

  • AEM as a Cloud Service (AEMaaCS)
  • AEM 6.5與Dispatcher

問題/症狀

  • ZIP資產在AEM Author中顯示綠色的 已發佈 狀態。
  • 直接存取Publish上的ZIP (例如,/content/dam/.../file.zip)會傳回404。
  • 復寫記錄檔未顯示錯誤。
  • 其他資產型別(PDF、JPEG、SVG、MP4)則可正常運作。
  • 重新壓縮或上傳新的ZIP檔案並不能解決問題。

原因

Dispatcher篩選規則通常以 全部拒絕 設定開頭,然後選擇性僅允許特定檔案型別。

限制篩選的範例通常包括:

/0001 { /type "deny" /url "*" }

/0010 {
  /type "allow"
  /extension '(css|gif|jpeg|jpg|js|pdf|png|svg|ttf|woff|woff2|html)'
  /path "/content/*"
}

因為.zip未包含在允許擴充功能清單中

  • Dispatcher會封鎖要求。
  • 發佈例項有資產,但要求絕不會到達。
  • 結束結果:找不到404,即使復寫成功。

解決方法 resolution

請依照下列步驟解決問題:

.zip新增至Dispatcher篩選器中允許的副檔名清單。

  1. 開啟您的Dispatcher設定檔。

  2. 新增ZIP檔案的專用規則:

    code language-none
    /00xx {
            /type "allow"
            /method "GET"
            /path "/content/dam/*"
            /extension "zip"
            }
    
  3. 或者,更新現有的允許規則以包含zip

    code language-none
    /0010 {
            /type "allow"
            /extension '(css|gif|jpeg|jpg|js|pdf|png|svg|ttf|woff|woff2|html|zip)'
            /path "/content/*"
            }
    
  4. 重新部署Dispatcher設定。

  5. 再次測試壓縮下載。

相關閱讀

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