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

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

Patricia Arquette
發布: 2024-12-23 20:05:21
原創
278 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板