De servir du contenu statique avec une URL de la racine avec le Gorille toolkit

Je suis en essayant d'utiliser le Gorille trousse à outils mux le paquet pour acheminer les Url dans un web server. À l'aide de cette question comme un guide, j'ai le Go suivantes code:

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

La structure de répertoire est:

...
main.go
static\
  | index.html
  | js\
     | <js files>
  | css\
     | <css files>

Les fichiers Javascript et CSS sont référencés dans index.html comme ceci:

...
<link rel="stylesheet" href="css/redmond/jquery-ui.min.css"/>
<script src="js/jquery.min.js"></script>
...

Quand j'ai accès http://localhost:8100 dans mon navigateur web de la index.html le contenu est livré avec succès, cependant, tous les js et css Url retourner une erreur 404.

Comment puis-je obtenir le programme pour servir les fichiers de static sous-répertoires?

  • Vous pourriez voir cette discussion (n'utilisant pas de Gorilla si) de servir des fichiers statiques à partir de la racine ou de la sous-répertoires stackoverflow.com/questions/14086063/...
  • Je n'ai que cette question au cours de mes recherches, cependant, car il n'était pas à l'aide de Gorille je n'ai jamais été en mesure d'obtenir des idées pour travailler avec ma configuration où l'un de mes objectifs était de ne pas avoir des fichiers statiques dans le répertoire racine de mon projet (à côté de main.go). Aussi, il semble très similaire à @réponse de Joe ci-dessous, qui également ne fonctionnera pas avec ma configuration.
InformationsquelleAutor jason | 2013-04-05