Go 如何调用静态HTML文件
我创建了一个包含Go 如何调用静态HTML文件,go,Go,我创建了一个包含index.html文件的静态文件夹,在我的go文件中,我写道: 主程序包 进口( “net/http” ) func main(){ http.Handle(“/”,http.FileServer(http.Dir(“./static”)) http.listendServe(“:8482”,无) } 在探索http://localhost:8482/ 我试图将代码编写为: http.Handle(“/static”,http.FileServer(http.Dir(“/st
index.html
文件的静态文件夹,在我的go文件中,我写道:
主程序包
进口(
“net/http”
)
func main(){
http.Handle(“/”,http.FileServer(http.Dir(“./static”))
http.listendServe(“:8482”,无)
}
在探索http://localhost:8482/
我试图将代码编写为:
http.Handle(“/static”,http.FileServer(http.Dir(“/static”))
但在探索http://localhost:8482/static
带有404错误
http.Handle(“/static”,http.FileServer(http.Dir(“/static”))
的简单意思是,“每当有人连接到../static
,将整个请求重新路由到根目录为/static的文件服务器”
但是,url会按原样传递给文件服务器。换句话说,文件服务器接收来自用户的请求,并认为用户正在根(“/static”)
目录中查找名为“static”的文件
事实上,如果您只是将一个名为“static”的文件放在“/static
”目录中,那么转到../static
将提供该文件
因此,修复需要两件事:
/static/
”而不是“/static
”,这样静态目录中的所有文件都可以重新路由到文件服务器(而不仅仅是“/static”请求)/static/
”路径前缀http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("./static"))))
http.Handle(“/static”,http.FileServer(http.Dir(“/static”))
的简单意思是,“每当有人连接到../static
,都会将整个请求重新路由到根目录为/static的文件服务器”
但是,url会按原样传递给文件服务器。换句话说,文件服务器接收来自用户的请求,并认为用户正在根(“/static”)
目录中查找名为“static”的文件
事实上,如果您只是将一个名为“static”的文件放在“/static
”目录中,那么转到../static
将提供该文件
因此,修复需要两件事:
/static/
”而不是“/static
”,这样静态目录中的所有文件都可以重新路由到文件服务器(而不仅仅是“/static”请求)/static/
”路径前缀http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("./static"))))
试试看:
http://localhost:8482/static/
-/
在end@Vusal同样的事情:(是当前目录中启动应用程序的静态
文件夹吗?请尝试绝对路径。@HasanAYousef我尝试了你的代码,它可以正常工作。目录路径可能不是correct@icza我添加了显示我的完整路径的屏幕截图:http://localhost:8482/static/
-/
在end@Vusal同样的事情:(是当前目录中启动应用程序的静态
文件夹吗?请尝试绝对路径。@HasanAYousef我尝试了你的代码,它可以正常工作。目录路径可能不是correct@icza我添加了显示完整路径的屏幕截图。在golang http文档中有另一个示例:在golang http文档在此: