golang中http模块的路由
golang中配置url的路由时,需要注意最后的/,如果以/结尾,标识包含子路径的所有url;否则,则是全路径匹配.
如下,如果需要路由图片文件夹,结尾则必须添加/.
http.HandleFunc("/img/", FileServer(&fs))
下面是官方标准实现, http.server.go
// Does path match pattern?
func pathMatch(pattern, path string) bool {
if len(pattern) == 0 {
// should not happen
return false
}
n := len(pattern)
if pattern[n-1] != '/' {
return pattern == path
}
return len(path) >= n && path[0:n] == pattern
}
本文介绍了Golang中HTTP模块的路由配置方法,特别是如何通过结尾的斜杠(/)来区分全路径匹配与包含子路径的所有URL匹配。对于需要路由图片文件夹等场景,明确指出必须在路径后添加斜杠。
623

被折叠的 条评论
为什么被折叠?



