首页 > 后端开发 > Golang > 为什么在我的 Go Web 应用程序中提供 CSS 文件时会出现 404 错误?

为什么在我的 Go Web 应用程序中提供 CSS 文件时会出现 404 错误?

Patricia Arquette
发布: 2024-12-23 20:05:21
原创
309 人浏览过

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

问题:在 Go 中渲染 CSS 时找不到 404 页面

当尝试在 Go Web 应用程序中使用 CSS 文件时,用户可能会遇到404错误,表示找不到CSS文件。尽管按照提供的文档中的说明进行操作,仍然会出现此问题。

相关目录结构和代码:

相关目录结构如下:

src/
  |__ css/somefilename.css
  |__ server/server.go
登录后复制

server.go中的代码包括:

http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("css"))))
登录后复制

HTML模板中src/templates/layout.html,CSS文件引用为:

<link rel="stylesheet" type="text/css" href="../css/css490.css" />
登录后复制

问题来源及解决方案:

由于提供的路径而发生错误FileServer 目录不是绝对路径。 Go 中的相对路径被解析为运行应用程序的工作目录。

要解决此问题,用户可以确保应用程序从正确的工作目录运行,通常在命令行参数中指定运行程序。或者,可以在 FileServer 函数中显式提供 CSS 目录的绝对路径。

例如,如果工作目录是 src,则运行 go run server/server.go 将正确解析路径,并且CSS 文件可在 localhost:8080/css/ 访问。但是,从 src/server 文件夹运行 go run server.go 将导致 404 错误。要在晚上修复此问题,用户可以修改代码以使用绝对路径:

http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("/src/css"))))
登录后复制

通过指定CSS目录的完整路径,无论工作目录如何,程序都可以找到CSS文件它从中运行。

以上是为什么在我的 Go Web 应用程序中提供 CSS 文件时会出现 404 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板