Heim >Backend-Entwicklung >Golang >Wie stellt man mit Gorilla Mux statischen Inhalt von einer Root-URL bereit?

Wie stellt man mit Gorilla Mux statischen Inhalt von einer Root-URL bereit?

Linda Hamilton
Linda HamiltonOriginal
2024-12-01 08:36:10549Durchsuche

How to Serve Static Content from a Root URL Using Gorilla Mux?

Bereitstellung statischer Inhalte von einer Root-URL mit Gorilla Mux

Sie möchten das Mux-Paket des Gorilla-Toolkits verwenden, um URLs in einem Go-Web zu verwalten Server. Es tritt jedoch ein Problem auf, bei dem statische Dateien in Unterverzeichnissen nicht bereitgestellt werden können, was zu 404-Fehlern führt.

Lösung:

Der Schlüssel zur Lösung dieses Problems ist die bereitgestellte PathPrefix-Funktion durch das Mux-Paket. So können Sie Ihren Code mit dieser Funktion ändern:

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

Indem Sie die PathPrefix-Funktion hinzufügen und auf „/“ setzen, sorgen Sie dafür, dass die Stamm-URL statische Dateien aus dem „statischen“ Verzeichnis bereitstellt. Dadurch wird sichergestellt, dass auf Unterverzeichnisse innerhalb von „static“ zugegriffen werden kann, einschließlich der Verzeichnisse „js“ und „css“.

Wenn Sie in Ihrem Webbrowser auf die Stamm-URL (http://localhost:8100) zugreifen, indizieren Sie. html wird wie erwartet geliefert. Darüber hinaus sind die verknüpften JS- und CSS-Dateien in index.html zugänglich, wodurch die 404-Fehler behoben und sichergestellt werden, dass Ihre Webseite vollständig geladen wird.

Das obige ist der detaillierte Inhalt vonWie stellt man mit Gorilla Mux statischen Inhalt von einer Root-URL bereit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn