我有一个去静态内容网站问题。我的结构如下所示:|-Go|--static/*|--go.mod|--main.go当我以这种方式提供静态内容时 router.PathPrefix("/").HandlerFunc(func(res http.ResponseWriter, req *http.Request) { http.FileServer(http.Dir("./")).ServeHTTP(res, req) })我可以在网址中看到go.mod的内容 https://example.com/go.mod然后我把代码改成了 router.PathPrefix("/").HandlerFunc(func(res http.ResponseWriter, req *http.Request) { http.FileServer(http.Dir("./static/*")).ServeHTTP(res, req) })我也试过 router.PathPrefix("/").HandlerFunc(func(res http.ResponseWriter, req *http.Request) { http.FileServer(http.Dir("./static/")).ServeHTTP(res, req) })我无法再在网址中看到go.mod的内容 https://example.com/go.mod但是我的徽标不再可见<img src="/static/imgs/logo.png" alt="logo" id="logo"/>我怎么能只提供目录的内容?./static/
1 回答
慕娘9325324
TA贡献1783条经验 获得超4个赞
要在静态目录下服务器内容:
http.FileServer(http.Dir("./static/"))
然后,对 /imgs/logo 的请求.png将是来自 ./static/imgs/logo.png 的服务器(不是 /static/img/logo.png)
如果您还想在网址中包含 /static/,请执行以下操作:
http.StripPrefix("/static/",http.FileServer(http.Dir("./static/")))
- 1 回答
- 0 关注
- 78 浏览
添加回答
举报
0/150
提交
取消