Голанг, обслуживающий HTML-файлы
У меня есть несколько 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 ответ
Вы могли бы дополнительно добавить 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))
}
Там могут быть другие варианты...