首頁 >後端開發 >Golang >如何使用「net/http」套件在 Go 中實作自訂 404 錯誤頁面?

如何使用「net/http」套件在 Go 中實作自訂 404 錯誤頁面?

DDD
DDD原創
2024-12-18 03:15:09830瀏覽

How to Implement Custom 404 Error Pages in Go using the `net/http` Package?

使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn