假设我们有:
http.HandleFunc("/smth", smthPage)
http.HandleFunc("/", homePage)
Run Code Online (Sandbox Code Playgroud)
用户在尝试错误的网址时会看到一个简单的"找不到404页面".如何为该案例返回自定义页面?
有关大猩猩/多路复用的更新
对于使用纯net/http包的人来说,接受的答案是可以接受的.
如果你使用gorilla/mux,你应该使用这样的东西:
func main() {
r := mux.NewRouter()
r.NotFoundHandler = http.HandlerFunc(notFound)
}
Run Code Online (Sandbox Code Playgroud)
func notFound(w http.ResponseWriter, r *http.Request)并按您的意愿实施.
我正在尝试捕获并记录在url params未正确编码时发生的http错误400.
我的服务器实现如下:
router := http.NewServeMux()
router.HandleFunc("/", requestHandler)
s := &http.Server{
Addr: ":8080",
Handler: router,
ErrorLog: myLogger,
}
log.Fatal(s.ListenAndServe())
Run Code Online (Sandbox Code Playgroud)
请求永远不会到达requestHandler,并ErrorLog: myLogger没有任何区别.
go ×2