我正在尝试在 Go 中启动一个 HTTP 服务器,它将使用我自己的处理程序为我自己的数据提供服务,但同时我想使用默认的 http FileServer 来提供文件。我在使 FileServer 的处理程序在 URL 子目录中工作时遇到问题。此代码不起作用:package mainimport ( "fmt" "log" "net/http")func main() { http.Handle("/files/", http.FileServer(http.Dir("."))) http.HandleFunc("/hello", myhandler) err := http.ListenAndServe(":1234", nil) if err != nil { log.Fatal("Error listening: ", err) }}func myhandler(w http.ResponseWriter, req *http.Request) { fmt.Fprintln(w, "Hello!")}我期待在 localhost:1234/files/ 中找到本地目录,但它返回一个404 page not found.但是,如果我将文件服务器的处理程序地址更改为 /,它会起作用: /* ... */ http.Handle("/", http.FileServer(http.Dir(".")))但是现在我的文件可以在根目录中访问和可见。如何使它从与 root 不同的 URL 提供文件?
1 回答
- 1 回答
- 0 关注
- 210 浏览
添加回答
举报
0/150
提交
取消