404尝试从文件系统提供文件时

时间:2014-01-15 10:08:29

标签: go

import (
    "net/http"
)

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

我导航到localhost:8080 /并收到404错误。我做错了什么?

2 个答案:

答案 0 :(得分:2)

试试这个:

import (
    "net/http"
    "os"
)

func main() {
    server.RegisterHandlers()

    // Get the running directory.
    runningDirectory, err := os.Getwd()
    if err != nil {
        // Handle the error.
        return err
    }

    http.Handle("/", http.FileServer(http.Dir(runningDirectory + "/static"))
    http.ListenAndServe(":8080", nil)
}

答案 1 :(得分:0)

具有以下结构:

main.go
static
  |- index.html

main.go包含:

package main

import (
    "net/http"
)

func main() {
    http.Handle("/", http.FileServer(http.Dir("static")))
    if err := http.ListenAndServe(":8080", nil); err != nil {
        panic(err)
    }
}

使用go run main.go运行解决方案后,您应该可以转到localhost:8080/并最终获得index.html的内容。

如果它不起作用,可能添加的错误处理可能会有所帮助。代码是正确的。