go - 无法在 Go Gorilla 服务器中提供静态文件

标签 go static webserver

我正在玩一个小玩具服务器来学习围棋网络编程。

我的项目目录结构有以下 public 目录:

public\
  | style.css

publicstyle.css 的权限是r-xr-- 给所有人。

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。

最佳答案

这是一个示例,说明如何从名为 public 的文件夹中向 /static/ 中的文件提供任何请求。

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))

关于go - 无法在 Go Gorilla 服务器中提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34830888/

相关文章:

pointers - 将结构作为参数传递给函数进行修改的内存/处理器效率最高的方法是什么?

java - Android java.lang.VerifyError 静态方法调用

Java : static keyword in middle of class

Perl 向 Web 服务器发送电子邮件,无需模块

database - 带有数据库的 ReasonML 示例 Web 服务器

ruby - 瘦服务器未超时

go - 为什么复数是 Go 中的原始数字类型?

Angular 和 Golang "No Access-Control-Allow-Origin is presents..."

go - 将 S3 上的 Parquet 转换为字符串

c++ - 无法编译在不同类上调用静态函数的代码