Isu: Halaman 404 Tidak Ditemui Semasa Memaparkan CSS dalam Go
Apabila cuba menggunakan fail CSS dalam aplikasi web Go, pengguna mungkin menghadapi ralat 404, menunjukkan bahawa fail CSS tidak boleh ditemui. Isu ini timbul walaupun mengikut arahan daripada dokumentasi yang disediakan.
Struktur dan Kod Direktori Berkaitan:
Struktur direktori yang berkaitan adalah seperti berikut:
src/ |__ css/somefilename.css |__ server/server.go
Kod dalam server.go termasuk:
http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("css"))))
Dalam templat HTML src/templates/layout.html, fail CSS dirujuk sebagai:
<link rel="stylesheet" type="text/css" href="../css/css490.css" />
Sumber Isu dan Penyelesaian:
Ralat berlaku kerana laluan yang disediakan ke direktori FileServer bukanlah laluan mutlak. Laluan relatif dalam Go diselesaikan ke direktori kerja dari mana aplikasi dijalankan.
Untuk menyelesaikan isu, pengguna boleh memastikan bahawa aplikasi dijalankan daripada direktori kerja yang betul, biasanya dinyatakan dalam argumen baris arahan apabila menjalankan program. Sebagai alternatif, laluan mutlak ke direktori CSS boleh disediakan secara eksplisit dalam fungsi FileServer.
Sebagai contoh, jika direktori kerja ialah src, maka menjalankan go run server/server.go akan menyelesaikan laluan dengan betul dan Fail CSS boleh diakses di localhost:8080/css/. Walau bagaimanapun, menjalankan go run server.go daripada folder src/server akan mengakibatkan ralat 404. Untuk membetulkannya dalam 后者, pengguna boleh mengubah suai kod untuk menggunakan laluan mutlak:
http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("/src/css"))))
Dengan menentukan laluan penuh ke direktori CSS, atur cara boleh mencari fail CSS tanpa mengira direktori kerja dari mana ia dijalankan.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 404 Semasa Melayan Fail CSS dalam Aplikasi Web Go Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!