ホームページ > バックエンド開発 > Golang > `net/http` パッケージを使用して Go にカスタム 404 エラー ページを実装する方法

`net/http` パッケージを使用して Go にカスタム 404 エラー ページを実装する方法

DDD
リリース: 2024-12-18 03:15:09
オリジナル
825 人が閲覧しました

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

Net/HTTP パッケージを使用したカスタム 404 エラー ページの実装

ユーザーが存在しない URL に移動すると、デフォルトの動作がWeb サーバーは、一般的な「404 ページが見つかりません」メッセージを表示します。ユーザー エクスペリエンスを向上させるために、詳細情報を提供したり、ユーザーを関連する宛先にリダイレクトしたりするカスタム 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")
    }
}
ログイン後にコピー

すべての HTTP エラーを処理するために使用される errorHandler 関数は、http.StatusNotFound エラー コードを返して次のように記述することで、カスタム 404 エラー ページを表示するようにカスタマイズできます。

この例では、errorHandler 関数は、404 エラー ステータスが検出されたときにカスタム メッセージ「custom 404」を返します。これにより、デフォルトの「404 ページが見つかりません」メッセージを、よりユーザーフレンドリーで有益なページに置き換えることができます。

さらに、errorhandler 関数を拡張して、他の HTTP エラーをキャッチし、カスタム エラー処理を実装することもできます。エラーのログ記録、電子メール通知の送信、または特定のエラー ページへのユーザーのリダイレクトなど。

以上が`net/http` パッケージを使用して Go にカスタム 404 エラー ページを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート