使用 Net/HTTP 包实现自定义 404 错误页面
当用户导航到不存在的 URL 时,默认行为Web 服务器会显示通用的“404 Page Not Found”消息。为了增强用户体验,您可能需要创建一个自定义 404 页面来提供更多信息或将用户重定向到相关目的地。
在此场景中,使用提供的简化代码:
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", homeHandler) http.HandleFunc("/smth/", smthHandler) http.ListenAndServe(":12345", nil) } func homeHandler(w http.ResponseWriter, r *http.Request) { if r.URL.Path != "/" { errorHandler(w, r, http.StatusNotFound) return } fmt.Fprint(w, "welcome home") } func smthHandler(w http.ResponseWriter, r *http.Request) { if r.URL.Path != "/smth/" { errorHandler(w, r, http.StatusNotFound) return } fmt.Fprint(w, "welcome smth") } func errorHandler(w http.ResponseWriter, r *http.Request, status int) { w.WriteHeader(status) if status == http.StatusNotFound { fmt.Fprint(w, "custom 404") } }
errorHandler函数,用于处理所有HTTP错误,可以通过返回http.StatusNotFound错误码并将所需内容写入到ResponseWriter.
在此示例中,当检测到 404 错误状态时,errorHandler 函数返回自定义消息“自定义 404”。这允许您用更加用户友好且信息丰富的页面替换默认的“404 Page Not Found”消息。
此外,errorhandler 函数可以扩展以捕获其他 HTTP 错误并实现自定义错误处理,例如例如记录错误、发送电子邮件通知或将用户重定向到特定错误页面。
以上是如何使用'net/http”包在 Go 中实现自定义 404 错误页面?的详细内容。更多信息请关注PHP中文网其他相关文章!