仅提供选定的文件夹

我有一个去静态内容网站问题。我的结构如下所示:


|-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/


白衣染霜花
浏览 79回答 1
1回答

慕娘9325324

要在静态目录下服务器内容: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/")))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go