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

时间:2015-02-03 07:25:16

标签: html css go http-status-code-404 go-templates

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

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" />

1 个答案:

答案 0 :(得分:3)

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

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

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