Heim > Backend-Entwicklung > Golang > Golang http.FileServer gibt 404 nicht gefunden zurück

Golang http.FileServer gibt 404 nicht gefunden zurück

WBOY
Freigeben: 2024-02-11 08:50:07
nach vorne
657 Leute haben es durchsucht

Golang http.FileServer 返回 404 未找到

php小编香蕉为您介绍Golang中的一个常见问题,即使用http.FileServer时返回404未找到错误。在使用Golang构建Web应用程序时,我们经常会使用http.FileServer来提供静态文件服务。然而,有时候在访问静态文件时会遇到404未找到的问题。本文将帮助您解决这个问题,并提供一些常见的解决方案。

问题内容

有这个简单的片段:

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

并且转到 /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
Nach dem Login kopieren

有什么建议吗?这似乎是一个超级微不足道的问题。

解决方法

问题不在代码片段中,而是模糊了细节,例如使用 gorilla/mux ,它以不同的方式提供文件,如本解决方案中所指出的:

解决方案

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))
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonGolang http.FileServer gibt 404 nicht gefunden zurück. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage