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