我尝试渲染模板:
func main() {
http.HandleFunc("/", index)
http.HandleFunc("/login", login)
err := fcgi.Serve(nil, http.HandlerFunc(handler))
}
func handler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-type", "text/html")
t, _ := template.ParseFiles("404.html")
t.Execute(w, &page{Title: "not work"})
}
但是当我打开每一页,甚至是site.com/login时,我都会看到404。 我在哪里可以找到问题?
答案 0 :(得分:2)
[...]如果处理程序[fcgi.Serve的第二个参数]为nil,则使用http.DefaultServeMux。
为了在http.HandleFunc
中使用http.DefaultServeMux
注册的函数,你不应该将第二个参数传递给Serve
函数,否则处理函数将为所有请求提供服务。
func main() {
http.HandleFunc("/", index)
http.HandleFunc("/login", login)
err := fcgi.Serve(nil, nil)
}