14
我试图在Go中启动一个HTTP服务器,该服务器将使用我自己的处理程序提供自己的数据,但同时我想使用默认的http FileServer来提供文件。FileServer与其他一些HTTP处理程序处理程序
我有问题要使FileServer的处理程序在URL子目录中工作。
这个代码不工作:
package main
import (
"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!")
}
我希望找到在本地主机的本地目录:1234 /文件/但它返回一个404 page not found
。
不过,如果我更改了文件服务器的处理器地址/,它的工作原理:
/* ... */
http.Handle("/", http.FileServer(http.Dir(".")))
但现在我的文件是在根目录访问和查看。
我怎样才能使它从不同于根的URL提供文件?
哦,这只是下面的文件服务器的例子,我觉得这么愚蠢...谢谢! – siritinga