php小編香蕉為您介紹Golang中的一個(gè)常見(jiàn)問(wèn)題,即使用http.FileServer時(shí)返回404未找到錯(cuò)誤。在使用Golang構(gòu)建Web應(yīng)用程序時(shí),我們經(jīng)常會(huì)使用http.FileServer來(lái)提供靜態(tài)文件服務(wù)。然而,有時(shí)候在訪問(wèn)靜態(tài)文件時(shí)會(huì)遇到404未找到的問(wèn)題。本文將幫助您解決這個(gè)問(wèn)題,并提供一些常見(jiàn)的解決方案。
問(wèn)題內(nèi)容
有這個(gè)簡(jiǎn)單的片段:
fs := http.FileServer(http.Dir("./web/js"))
http.Handle("/js/", http.StripPrefix("/js/", fs))
登錄后復(fù)制
并且轉(zhuǎn)到 /js/ 實(shí)際上列出了文件,但是當(dāng)我嘗試打開(kāi)實(shí)際文件時(shí),它顯示 404 Not Found
$ curl http://localhost:8100/js/test.js登錄后復(fù)制
$ curl http://localhost:8100/js/test.js
404 page not found有什么建議嗎?這似乎是一個(gè)超級(jí)微不足道的問(wèn)題。
解決方法
問(wèn)題不在代碼片段中,而是模糊了細(xì)節(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))登錄后復(fù)制






