我嘗試使用Gorilla工具包的mux
package在Go Web服務器中路由URL。使用this question爲指導,我有以下Go代碼:使用Gorilla工具包爲根URL提供靜態內容
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>
的Javascript和CSS文件在index.html
引用這樣的:
...
<link rel="stylesheet" href="css/redmond/jquery-ui.min.css"/>
<script src="js/jquery.min.js"></script>
...
當我在我的網絡瀏覽器中訪問http://localhost:8100
時,index.html
內容已成功發送,但是,所有js
和css
網址返回404s。
我怎樣才能讓程序服務於static
子目錄中的文件?
你可能想看看這個討論(不使用大猩猩雖然)有關服務從根或子目錄靜態文件http://stackoverflow.com/questions/ 14086063 /服務主頁和靜態內容從根/ 14187941#14187941 – Deleplace 2013-04-05 15:27:45
@Ripounet,我在我的研究過程中看到這個問題,但是,因爲它沒有使用大猩猩我從來沒有能夠得到的想法工作在我的設置中,我的目標之一是在根目錄下沒有任何靜態文件我的項目的宿主(main.go旁邊)。此外,它似乎非常類似於[@ Joe的回答](http://stackoverflow.com/a/15835001/971556),這也不適用於我的設置。 – jason 2013-04-05 17:12:35