Maison > développement back-end > Golang > Pourquoi est-ce que je reçois une erreur 404 lors de la diffusion de fichiers CSS dans mon application Web Go ?

Pourquoi est-ce que je reçois une erreur 404 lors de la diffusion de fichiers CSS dans mon application Web Go ?

Patricia Arquette
Libérer: 2024-12-23 20:05:21
original
304 Les gens l'ont consulté

Why Am I Getting a 404 Error When Serving CSS Files in My Go Web Application?

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
Copier après la connexion

Le code dans server.go inclut :

http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("css"))))
Copier après la connexion

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" />
Copier après la connexion

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"))))
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal