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 サイトの他の関連記事を参照してください。