Git'te kendi işleyicileri kullanarak kendi verilerimi sunacak bir HTTP sunucusunu başlatmaya çalışıyorum, ancak aynı zamanda dosyaları sunmak için varsayılan http FileServer'ı kullanmak istiyorum.Bazı diğer HTTP işleyicileriyle birlikte FileServer işleyicisi
FileServer öğesinin bir URL alt dizininde çalışması için sorun yaşıyorum. Ben localhost yerel dizini bulmak için bekliyordum
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!")
}
:
Bu kod çalışmıyor 1234/dosyalar/ama bir 404 page not found
döndürür.
/* ... */
http.Handle("/", http.FileServer(http.Dir(".")))
Ama şimdi benim dosyalarım kök dizininde erişilebilir ve görülebilir: Ben/konumuna dosyasunucusu ait işleyici adresini değiştirirseniz
Ancak, işe yarıyor.
Kökünden farklı bir URL'den dosya sunmayı nasıl sağlayabilirim? Buraya bakın
http.Handle("/files/", http.StripPrefix("/files/", http.FileServer(http.Dir("."))))
:
Oh, sadece Fileserver Örneğin aşağıda, çok aptal hissediyorum oldu ... teşekkürler! – siritinga