Ich versuche, das Gorilla-Toolkit mux
package zu verwenden, um URLs auf einem Go-Webserver zu routen. Mit this question als Leitfaden ich folgende Go-Code haben:Bereitstellung von statischem Inhalt mit einer Stamm-URL mit dem Gorilla-Toolkit
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)
}
Die Verzeichnisstruktur ist:
...
main.go
static\
| index.html
| js\
| <js files>
| css\
| <css files>
Die Javascript und CSS-Dateien werden in index.html
wie folgt verwiesen:
...
<link rel="stylesheet" href="css/redmond/jquery-ui.min.css"/>
<script src="js/jquery.min.js"></script>
...
Als ich http://localhost:8100
in meinem Web-Browser Zugriff auf den index.html
Inhalt erfolgreich geliefert, aber alle die js
und css
URLs geben 404s zurück.
Wie bekomme ich das Programm, um Dateien aus static
Unterverzeichnissen zu liefern?
Man könnte diese Diskussion sehen wollen (allerdings nicht mit Gorilla) über dienen statische Dateien von der Wurzel oder Unterverzeichnisse http://stackoverflow.com/questions/ 14086063/Serve-Homepage-und-static-content-von-root/14187941 # 14187941 – Deleplace
@Ripounet, ich diese Frage bei meinen Recherchen sah jedoch, da es nicht mit Gorilla war ich nie in der Lage war, die Ideen an der Arbeit mit meinem Setup, wo eines meiner Ziele war, keine statischen Dateien in der Wurzel di zu haben Pfarrhaus meines Projektes (neben 'main.go'). Es scheint auch sehr ähnlich zu [@ Joes Antwort] (http://stackoverflow.com/a/15835001/971556) unten, die auch nicht mit meinem Setup funktioniert. – jason