Maison > développement back-end > Golang > Comment supprimer l'extension .html des noms de fichiers dans un serveur HTTP Go ?

Comment supprimer l'extension .html des noms de fichiers dans un serveur HTTP Go ?

Linda Hamilton
Libérer: 2024-10-29 13:59:02
original
445 Les gens l'ont consulté

How to Strip the .html Extension from File Names in a Go HTTP Server?

Comment supprimer l'extension .html des fichiers sur un serveur HTTP

Lors du développement de serveurs Web, il est souvent souhaitable de supprimer l'extension .html des noms de fichiers pour fournir une expérience URL plus propre et plus conviviale.

Dans un serveur HTTP Go, cela peut être réalisé en implémentant l'interface http.FileSystem et en l'enregistrant en tant que gestionnaire personnalisé. Le code suivant montre comment procéder :

<code class="go">package main

import (
    "net/http"
    "os"
)

type HTMLDir struct {
    d http.Dir
}

func main() {
    fs := http.FileServer(HTMLDir{http.Dir("public/")})
    http.Handle("/", http.StripPrefix("/", fs))
    http.ListenAndServe(":8000", nil)
}

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

Ce système de fichiers personnalisé, HTMLDir, remplace la méthode Open pour rechercher des fichiers avec et sans l'extension .html. Lorsqu'une demande de fichier est effectuée, le serveur essaiera d'abord d'ouvrir le fichier avec l'extension .html. S'il n'est pas trouvé, il tentera alors d'ouvrir le fichier sans l'extension.

En implémentant le système de fichiers personnalisé et en l'enregistrant en tant que gestionnaire, vous pouvez supprimer efficacement l'extension .html des noms de fichiers tout en fournissant l'accès. au contenu souhaité.

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