Maison > développement back-end > Golang > le corps du texte

Comment masquer les extensions de fichiers HTML des URL dans un serveur HTTP Go ?

Mary-Kate Olsen
Libérer: 2024-10-27 16:26:02
original
542 Les gens l'ont consulté

How to Hide HTML File Extensions from URLs in a Go HTTP Server?

Comment masquer les extensions de fichiers dans un simple serveur HTTP

De nombreux serveurs Web affichent des extensions de fichiers dans l'URL, ce qui peut être indésirable pour l'esthétique ou des raisons liées à l'expérience utilisateur. Ce guide montre comment masquer l'extension .html des URL dans un serveur HTTP Go.

Solution

Implémenter http.FileSystem à l'aide de http.Dir offre plusieurs avantages, notamment en tirant parti du code robuste de http.FileServer. Une structure HTMLDir personnalisée peut être créée pour implémenter cette fonctionnalité.

Implémentation

L'implémentation d'Open dépend du comportement souhaité. Trois scénarios sont présentés ci-dessous :

Option 1 : Toujours ajouter .html

<code class="go">func (d HTMLDir) Open(name string) (http.File, error) {
    return d.d.Open(name + ".html")
}</code>
Copier après la connexion

Option 2 : Revenir à .html

<code class="go">func (d HTMLDir) Open(name string) (http.File, error) {
    f, err := d.d.Open(name)
    if os.IsNotExist(err) {
        if f, err := d.d.Open(name + ".html"); err == nil {
            return f, nil
        }
    }
    return f, err
}</code>
Copier après la connexion

Option 3 : Commencez par .html et Fallback

<code class="go">func (d HTMLDir) Open(name string) (http.File, error) {
    f, err := d.d.Open(name + ".html")
    if os.IsNotExist(err) {
        if f, err := d.d.Open(name); err == nil {
            return f, nil
        }
    }
    return f, err
}</code>
Copier après la connexion

En utilisant HTMLDir avec http.StripPrefix, l'extension .html peut être efficacement masquée lors de la diffusion de fichiers à partir de le répertoire spécifié. Cette technique offre une expérience utilisateur plus fluide et plus esthétique, tout en permettant l'accès au contenu prévu.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!