Golang提供html文件

时间:2017-07-12 09:59:20

标签: html go gorilla

我在文件夹/ 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(这是我需要的)。 但我也想将地址http://127.0.0.1/绑定到main.html。我该怎么办?

我可以将main.html重命名为index.html,但我认为这不是真正的方法。

1 个答案:

答案 0 :(得分:2)

您还可以添加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))
}

可能还有其他选择......