我在文件夹/html 中有一些 html 文件(例如 main.html、page1.html、page2.html 等)。然后我使用下一个 Go 代码服务它
r := mux.NewRouter()
r.PathPrefix("/").Handler(http.StripPrefix("/", http.FileServer(http.Dir(htmlDir))))
所以如果我打开地址 http://127.0.0.1/page1.html ,然后将显示 page1.html(这是我需要的)。 但是我也想绑定(bind)地址http://127.0.0.1/到 main.html。我该怎么做?
我可以将 main.html 重命名为 index.html,但我认为这不是正确的方法。
最佳答案
您可以另外添加一个 HandlerFunc
来处理它:
r := mux.NewRouter()
r.HandleFunc("/", homeHandler)
r.PathPrefix("/").Handler(http.StripPrefix("/", http.FileServer(http.Dir(htmlDir))))
在 homeHandler 中,您提供要提供的文件:
func homeHandler(w http.ResponseWriter, r *http.Request) {
http.ServeFile(w, r, fmt.Sprintf("./%s/index.htm", htmlDir))
}
可能还有其他选择...
关于html - Golang 提供 html 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45054471/