找不到 404 页面 - 去渲染 css 文件

404 page not found - Go rendering css file

我目前在 Go 工作。我在我的本地机器上创建了一个网络服务器。我按照此页面上的说明进行操作 Rendering CSS in a Go Web Application 但我仍然收到 404 错误,程序似乎无法找到我的 css 文件所在的位置。我的目录如下。

src 文件夹中包含 css/somefilename.csssrc 还包含 server/server.go

我的 server.go 文件中的代码如下。

http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("css"))))

当我转到 localhost:8080/css/ 时,我收到 404 页面未找到。我还使用模板来呈现 html 代码。模板位于文件夹

src/templates/layout.html

html代码如下:

<link rel="stylesheet" type="text/css" href="../css/css490.css" />

由于您没有为 css 文件夹指定完整路径,只是一个相对路径,因此是否找到您的 css 文件取决于您 文件夹 运行 您的应用程序来自(工作目录,这是相对路径解析到的目录)。

例如,如果您从 srcgo run server/server.go 启动您的应用程序,它将起作用。如果您使用 go run server.go 从您的 src/server 文件夹启动它,它将不起作用。此外,如果您从放入 bin 文件夹的应用程序创建本机可执行文件,并从 bin 文件夹启动它,这也不会起作用,因为 css 文件夹不是在 bin 文件夹中。

使用 src 文件夹中的 go run server/server.go 启动它,或者将 css 文件夹复制到您的 bin 文件夹并从 bin 启动可执行文件] 文件夹,它应该可以工作(但在这种情况下,您还必须复制其他静态文件,如 html 模板)。