Problème : 404 page introuvable lors du rendu CSS dans Go
Lorsqu'ils tentent d'utiliser des fichiers CSS dans une application Web Go, les utilisateurs peuvent rencontrer une erreur 404, indiquant que le fichier CSS est introuvable. Ce problème survient malgré le respect des instructions de la documentation fournie.
Structure et code du répertoire pertinents :
La structure du répertoire pertinent est la suivante :
src/ |__ css/somefilename.css |__ server/server.go
Le code dans server.go inclut :
http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("css"))))
Dans le modèle HTML src/templates/layout.html, le fichier CSS est référencé comme :
<link rel="stylesheet" type="text/css" href="../css/css490.css" />
Source du problème et de la résolution :
L'erreur se produit car le chemin fourni vers le répertoire FileServer n'est pas un chemin absolu. Les chemins relatifs dans Go sont résolus vers le répertoire de travail à partir duquel l'application est exécutée.
Pour résoudre le problème, les utilisateurs peuvent s'assurer que l'application est exécutée à partir du répertoire de travail correct, généralement spécifié dans l'argument de ligne de commande lorsque exécuter le programme. Alternativement, le chemin absolu vers le répertoire CSS peut être explicitement fourni dans la fonction FileServer.
Par exemple, si le répertoire de travail est src, alors exécuter go run server/server.go résoudra le chemin correctement et le Le fichier CSS sera accessible sur localhost:8080/css/. Cependant, exécuter go run server.go à partir du dossier src/server entraînera une erreur 404. Pour résoudre ce problème dans le 后者, les utilisateurs peuvent modifier le code pour utiliser le chemin absolu :
http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("/src/css"))))
En spécifiant le chemin complet du répertoire CSS, le programme peut localiser le fichier CSS quel que soit le répertoire de travail. à partir duquel il est exécuté.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!