Maison  >  Article  >  développement back-end  >  Golang http.FileServer renvoie 404 introuvable

Golang http.FileServer renvoie 404 introuvable

WBOY
WBOYavant
2024-02-11 08:50:07574parcourir

Golang http.FileServer 返回 404 未找到

l'éditeur php Banana vous présentera un problème courant dans Golang, c'est-à-dire qu'une erreur 404 non trouvée est renvoyée lors de l'utilisation de http.FileServer. Lors de la création d'applications Web à l'aide de Golang, nous utilisons souvent http.FileServer pour servir des fichiers statiques. Cependant, vous rencontrerez parfois un problème 404 non trouvé lors de l'accès à des fichiers statiques. Cet article vous aidera à résoudre ce problème et proposera des solutions courantes.

Le contenu de la question

contient cet extrait simple :

fs := http.FileServer(http.Dir("./web/js"))
    http.Handle("/js/", http.StripPrefix("/js/", fs))

et allez à /js/ 实际上列出了文件,但是当我尝试打开实际文件时,它显示 404 Not Found

$ curl http://localhost:8100/js/
<pre class="brush:php;toolbar:false">
<a href="test.js">test.js</a>
$ curl http://localhost:8100/js/test.js 404 page not found

Des suggestions ? Cela semble être une question super triviale.

Solution de contournement

Le problème ne réside pas dans l'extrait de code, mais dans le masquage des détails, comme l'utilisation de gorilla/mux , qui sert le fichier différemment, comme indiqué dans cette solution :

Solution

TLDR :

import  "github.com/gorilla/mux"

// snip

router := mux.NewRouter()
fs := http.FileServer(http.Dir("./web/js"))
router.Handle("/js/{.js}", http.StripPrefix("/js/", fs))

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer