2017-07-12 103 views
0

我在文件夹/ html中有一些html文件(例如main.html,page1.html,page2.html等)。我为它服务,利用接下来的Go代码Golang提供html文件

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

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

可能有其他的选择...

+0

是的,我可以。但这似乎并非简单的方法。我认为这可以做到这样简单的一种方式。 – Ragnar