2017-07-12 81 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