首頁 >後端開發 >Golang >為什麼在我的 Go Web 應用程式中提供 CSS 檔案時會出現 404 錯誤?

為什麼在我的 Go Web 應用程式中提供 CSS 檔案時會出現 404 錯誤?

Patricia Arquette
Patricia Arquette原創
2024-12-23 20:05:21307瀏覽

Why Am I Getting a 404 Error When Serving CSS Files in My Go Web Application?

問題:在Go 中渲染CSS 時找不到404 頁面

當嘗試在Go Web 應用程式中使用CSS 檔案時,用戶可能會遇到404錯誤,表示找不到CSS檔案。儘管按照提供的文件中的說明進行操作,仍然會出現此問題。

相關目錄結構與程式碼:

相關目錄結構如下:

src/
  |__ css/somefilename.css
  |__ server/server.go

server.go中的程式碼包括:

http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("css"))))

HTML範本中src/templates/layout.html,CSS檔案引用為:

<link rel="stylesheet" type="text/css" href="../css/css490.css" />

問題來源及解決方案:

由於提供的路徑而發生錯誤FileServer 目錄不是絕對路徑。 Go 中的相對路徑被解析為運行應用程式的工作目錄。

要解決此問題,使用者可以確保應用程式從正確的工作目錄運行,通常在命令列參數中指定運行程序。或者,可以在 FileServer 函數中明確提供 CSS 目錄的絕對路徑。

例如,如果工作目錄是 src,則執行 go run server/server.go 將正確解析路徑,並且CSS 檔案可在 localhost:8080/css/ 存取。但是,從 src/server 資料夾執行 go run server.go 將導致 404 錯誤。要在晚上修復此問題,使用者可以修改程式碼以使用絕對路徑:

http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("/src/css"))))

透過指定CSS目錄的完整路徑,無論工作目錄如何,程式都可以找到CSS檔案它從中運行。

以上是為什麼在我的 Go Web 應用程式中提供 CSS 檔案時會出現 404 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn