【发布时间】:2016-06-17 08:00:20
【问题描述】:
我对@987654323@ 和斜线感到非常困惑。
我需要为 html 页面提供脚本。在我正在工作的目录中,我有一个页面index.html,我有一个static 目录,里面有myscript.js。
第一个问题:这样写对吗
<script src="/static/myscript.js"></script>
?我也见过src="static/myscript.js",我不知道是否有理由使用其中一个(但我猜它会影响我们必须在服务器上编写的处理程序)。
假设我们满足于第一个版本。第二个问题:在服务器端,我想为目录static注册处理程序。受到this example 的启发,我愿意:
fs := http.FileServer(http.Dir("./static"))
http.Handle("/static", http.StripPrefix("/static", fs))
但我得到了404。但是,如果我使用:
fs := http.FileServer(http.Dir("./static"))
http.Handle("/static/", http.StripPrefix("/static/", fs))
加上结尾的斜线,效果很好!
我对网络服务器真的很陌生,所以如果能提供任何解释,包括函数传递的实际地址是什么,我将不胜感激。例如,我不知道(我无法从net/http 文档中弄清楚)在处理/static 请求时传递给处理程序的地址是什么。我猜是/static/myscript.js,因为我们使用的是http.StripPrefix,但我没有实际的证明方法。
【问题讨论】: