Golang Gorilla Mux与http.FileServer返回404

Golang Gorilla Mux与http.FileServer返回404,第1张

Golang Gorilla Mux与http.FileServer返回404

我将其发布在golang-nuts讨论组上,并 从
ToniCárdenas获得了此解决方案 …

标准的net / http ServeMux(这是您在使用时使用的标准处理程序

http.Handle
)和多路复用器路由器具有不同的地址匹配方式。

查看http://golang.org/pkg/net/http/#ServeMux和http://godoc.org/github.com/gorilla/mux之间的区别。

因此,基本上,

http.Handle('/images/', ...)
匹配“ / images /
whatever”,而
myRouter.Handle('/images/', ...)
匹配“ / images /”,如果要处理“ /
images / whatever”,则必须…

选项1- 在路由器中使用正则表达式匹配

myRouter.Handle("/images/{rest}",     http.StripPrefix("/images/", http.FileServer(http.Dir(HomeFolder + "images/"))))

选项2- 在路由器上使用PathPrefix方法:

myRouter.PathPrefix("/images/").Handler(http.StripPrefix("/images/",      http.FileServer(http.Dir(HomeFolder + "images/"))))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5086673.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存