我正在玩一个小型玩具服务器来学习Go web编程。
我的项目目录结构包含以下public
目录:
public\
| style.css
所有人public
和style.css
的权限为r-x
和r--
。
在main.go
中,我有以下几行:
router := mux.NewRouter()
router.Handle("/static/",
http.StripPrefix("/static/", http.FileServer(http.Dir("public"))))
log.Fatal(http.ListenAndServe(":3001", router))
每次拨打http://localhost:3001/static/style.css
时
服务器返回404。
我已经在路径中尝试了前导和尾部斜杠的所有组合,但没有任何区别。
我在Ubuntu 15.10(x64)上运行Go v1.5.3。
答案 0 :(得分:4)
以下是一个示例,说明如何通过名为/static/
的文件夹向public
中的文件提出任何请求。
router := mux.NewRouter()
//router.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("public"))))
router.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir("public/"))))
log.Fatal(http.ListenAndServe(":3001", router))