Maison >développement back-end >Golang >Comment diffuser du contenu statique à partir de sous-répertoires à l'URL racine à l'aide de Gorilla Mux ?

Comment diffuser du contenu statique à partir de sous-répertoires à l'URL racine à l'aide de Gorilla Mux ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-02 16:48:14762parcourir

How to Serve Static Content from Subdirectories at the Root URL using Gorilla Mux?

Servir du contenu statique avec une URL racine à l'aide de Gorilla Toolkit

Dans cette question, l'utilisateur utilise le package mux de Gorilla Toolkit pour acheminer les URL dans un Allez sur le serveur Web. L'utilisateur est confronté à des problèmes pour servir des fichiers statiques à partir de sous-répertoires de l'URL racine.

Problème :

La structure de répertoires de l'utilisateur comprend un répertoire statique contenant des sous-répertoires pour JavaScript (js). et CSS (css). Cependant, lors de l'accès aux fichiers JavaScript et CSS à partir de la page index.html, ils renvoient des erreurs 404.

Solution :

La solution réside dans l'utilisation de la méthode PathPrefix fournie par le paquet mux. En modifiant la configuration du routeur comme suit :

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/search/{searchTerm}", Search)
    r.HandleFunc("/load/{dataId}", Load)
    r.PathPrefix("/").Handler(http.FileServer(http.Dir("./static/")))
    http.ListenAndServe(":8100", r)
}

La méthode PathPrefix spécifie que toute requête avec un chemin commençant par "/" doit être gérée par le serveur de fichiers avec un répertoire racine de "./static/". Cela sert efficacement les fichiers statiques de l'ensemble du répertoire "statique" et de ses sous-répertoires.

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!

Déclaration:
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