golang静态服务器始终返回404页面未找到

时间:2018-06-13 22:40:55

标签: http go webserver raspberry-pi3

我尝试在Rasberry pi上运行Go webserver(使用1.10.1) 我有一个像(StatPiPrivider.go)实现的go webserver:

package main

import (
        "net/http"
)

func main() {
        http.Handle("/", http.FileServer(http.Dir("./static/templates")))
        http.ListenAndServe(":3000", nil)
}

,静态文件夹与StatPiProvider.go文件位于同一文件夹中。

在文件夹中,static / templates是4个html文件,包括一个index.html

每次我更换服务器时,都会收到404页面未找到的响应。即使我尝试获取其他html文件,我也会得到相同的响应。

这是我的实施问题还是我的覆盆子错了。

我运行代码:go run StatPiProvider / StatPiProvider.go

1 个答案:

答案 0 :(得分:3)

请注意go run不会更改工作目录。因此,您在应用中使用的任何相对路径都将被解析为工作目录,即运行go run的文件夹。

由于static文件夹位于StatPiProvider.go文件旁边,并且您使用路径./static/templates,因此当您运行go run时,其包含的文件夹必须是工作目录。

首先更改目录,以便StatPiProvider.go位于工作目录中,然后像这样启动.go文件:

cd StatPiProvider
go run StatPiProvider.go