我有一个简单的Web应用程序,名为HttpServer.go的代码文件是:
package main
import (
"net/http"
)
func main() {
mux := http.NewServeMux()
files := http.FileServer(http.Dir("/public"))
mux.Handle("/static/", http.StripPrefix("/static/", files))
server := &http.Server{
Addr: "localhost:8080",
Handler: mux,
}
server.ListenAndServe()
}
我已将此代码文件放在%GOPATH%/ src / first_app下,而我go install
此程序,first_app.exe
显示在%GOPATH%/ bin
当我启动网络服务器时,我访问了
http://localhost:8080/static/a.txt,但404(NOT FOUND)
抱怨找不到a.txt。
我会问我应该在哪里放置目录public and a.txt
答案 0 :(得分:1)
它会查看您在http.Dir
表达式中指定的路径。在你的情况下/public
。
您的系统上很可能没有名为/public
的路径(因为这是我熟悉的所有操作系统上的非标准目录路径,我怀疑您没有#&# 39;创造了它。)
更改/public
以匹配放置文件的路径。