Голанг, обслуживающий 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))
}

Там могут быть другие варианты...

Другие вопросы по тегам