Maison > développement back-end > Golang > Comment puis-je personnaliser les pages d'erreur 404 à l'aide du package HTTP standard de Go ?

Comment puis-je personnaliser les pages d'erreur 404 à l'aide du package HTTP standard de Go ?

Patricia Arquette
Libérer: 2024-12-19 04:52:09
original
957 Les gens l'ont consulté

How Can I Customize 404 Error Pages Using Go's Standard HTTP Package?

Personnalisation des pages d'erreur 404 avec le package HTTP standard

Lors de l'accès à une URL incorrecte, les navigateurs affichent généralement une « page 404 introuvable » générique message. La personnalisation de cette réponse avec une page d'erreur personnalisée peut améliorer l'expérience utilisateur.

Utilisation du package HTTP

Pour les applications utilisant le package net/http standard, les étapes suivantes peuvent être pris pour implémenter une page 404 personnalisée :

  1. Définir une gestion des erreurs distincte function :
func errorHandler(w http.ResponseWriter, r *http.Request, status int)
Copier après la connexion
  1. Dans le gestionnaire d'erreurs, définissez le code d'état HTTP approprié et générez la réponse d'erreur souhaitée (par exemple, "custom 404").
  2. Dans chaque fonction de gestionnaire, vérifiez si l'URL demandée correspond au modèle attendu. Sinon, appelez le gestionnaire d'erreurs avec le code d'état HTTP correct.

Par exemple, le code suivant vérifie l'URL racine ("/") et un sous-chemin spécifique ("/smth/ "). Toute autre URL déclenchera la page d'erreur 404 personnalisée :

func homeHandler(w http.ResponseWriter, r *http.Request) {
    if r.URL.Path != "/" {
        errorHandler(w, r, http.StatusNotFound)
        return
    }
    // Handle root URL request
}

func smthHandler(w http.ResponseWriter, r *http.Request) {
    if r.URL.Path != "/smth/" {
        errorHandler(w, r, http.StatusNotFound)
        return
    }
    // Handle "/smth/" sub-path request
}

// Custom error handler
func errorHandler(w http.ResponseWriter, r *http.Request, status int) {
    w.WriteHeader(status)
    if status == http.StatusNotFound {
        fmt.Fprint(w, "custom 404")
    }
}
Copier après la connexion

Cette approche offre une plus grande flexibilité dans la personnalisation des pages d'erreur pour des scénarios spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal