Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyajikan Kandungan Statik daripada Subdirektori di URL Root menggunakan Gorilla Mux?

Bagaimana untuk Menyajikan Kandungan Statik daripada Subdirektori di URL Root menggunakan Gorilla Mux?

Susan Sarandon
Susan Sarandonasal
2024-12-02 16:48:14804semak imbas

How to Serve Static Content from Subdirectories at the Root URL using Gorilla Mux?

Menyajikan Kandungan Statik dengan URL Root Menggunakan Gorilla Toolkit

Dalam soalan ini, pengguna menggunakan pakej mux Gorilla toolkit untuk menghalakan URL dalam Pergi pelayan web. Pengguna menghadapi masalah menyediakan fail statik daripada subdirektori dalam URL akar.

Masalah:

Struktur direktori pengguna termasuk direktori statik yang mengandungi subdirektori untuk JavaScript (js) dan CSS (css). Walau bagaimanapun, apabila mengakses fail JavaScript dan CSS daripada halaman index.html, ia mengembalikan 404 ralat.

Penyelesaian:

Penyelesaian terletak pada penggunaan kaedah PathPrefix yang disediakan oleh pakej mux. Dengan mengubah suai persediaan penghala kepada:

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

Kaedah PathPrefix menentukan bahawa sebarang permintaan dengan laluan bermula dengan "/" harus dikendalikan oleh FileServer dengan direktori akar "./static/". Ini dengan berkesan menyediakan fail statik daripada keseluruhan direktori "statik" dan subdirektorinya.

Atas ialah kandungan terperinci Bagaimana untuk Menyajikan Kandungan Statik daripada Subdirektori di URL Root menggunakan Gorilla Mux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn