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