php小編香蕉為您介紹Golang中的一個常見問題,即使用http.FileServer時返回404未找到錯誤。在使用Golang構建Web應用程序時,我們經常會使用http.FileServer來提供靜態(tài)文件服務。然而,有時候在訪問靜態(tài)文件時會遇到404未找到的問題。本文將幫助您解決這個問題,并提供一些常見的解決方案。
問題內容
有這個簡單的片段:
fs := http.FileServer(http.Dir("./web/js")) http.Handle("/js/", http.StripPrefix("/js/", fs))
登錄后復制
并且轉到 /js/
實際上列出了文件,但是當我嘗試打開實際文件時,它顯示 404 Not Found
$ curl http://localhost:8100/js/test.js登錄后復制
$ curl http://localhost:8100/js/test.js
404 page not found有什么建議嗎?這似乎是一個超級微不足道的問題。
解決方法
問題不在代碼片段中,而是模糊了細節(jié),例如使用
gorilla/mux
,它以不同的方式提供文件,如本解決方案中所指出的:解決方案
TLDR:
import "github.com/gorilla/mux" // snip router := mux.NewRouter() fs := http.FileServer(http.Dir("./web/js")) router.Handle("/js/{.js}", http.StripPrefix("/js/", fs))登錄后復制