使用Gorilla Toolkit 的mux 套件實現URL 路由時,從子目錄提供靜態內容時會出現一個常見靜態內容時會出現一個常見靜態內容的挑戰。在本文中,我們將利用 PathPrefix 方法來探索此問題的解決方案,以及如何解決存取靜態檔案時遇到的 404 錯誤。
考慮以下場景:您有一個具有以下檔案和目錄結構的Go Web 伺服器:
在main.go 檔案中,您定義了一個mux router 如下:
在瀏覽器中訪問http://localhost:8100時,index.html 渲染成功。但是,嘗試存取子目錄中的 CSS 和 JavaScript 檔案會導致 404 錯誤。
為了解決此問題,我們採用 mux 套件提供的 PathPrefix 方法。透過使用此方法,我們可以指定所有靜態檔案通用的路徑前綴,然後為該路徑前綴指派一個處理程序。
透過使用 PathPrefix("/").Handler,我們本質上是說,對於任何以「/」開頭的路徑,我們應該遵循 FileServer 處理程序。這可以確保 static/ 目錄中的所有靜態檔案都能正確提供,包括 css/ 和 js/ 等子目錄中的檔案。
以上是使用 Gorilla Mux 的 PathPrefix 提供靜態內容時如何修復 404 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!