我正在尝试使用Gorilla工具包的mux软件包来路由Go Web服务器中的URL,我有以下Go代码:
mux
func main() { r := mux.NewRouter() r.Handle("/", http.FileServer(http.Dir("./static/"))) r.HandleFunc("/search/{searchTerm}", Search) r.HandleFunc("/load/{dataId}", Load) http.Handle("/", r) http.ListenAndServe(":8100", nil) }
目录结构为:
... main.go static\ | index.html | js\ | <js files> | css\ | <css files>
index.html像这样引用Javascript和CSS文件:
index.html
... <link rel="stylesheet" href="css/redmond/jquery-ui.min.css"/> <script src="js/jquery.min.js"></script> ...
当我http://localhost:8100在Web浏览器中访问index.html内容时,内容已成功交付,但是,所有js和cssURL都返回404。
http://localhost:8100
js
css
如何获得程序以将文件提供到static子目录之外?
static
我想您可能正在寻找PathPrefix…
PathPrefix
func main() { r := mux.NewRouter() r.HandleFunc("/search/{searchTerm}", Search) r.HandleFunc("/load/{dataId}", Load) r.PathPrefix("/").Handler(http.FileServer(http.Dir("./static/"))) http.ListenAndServe(":8100", r) }