gpt4 book ai didi

golang 静态停止 index.html 重定向

转载 作者:数据小太阳 更新时间:2023-10-29 03:04:56 24 4
gpt4 key购买 nike

package main

import (
"log"
"net/http"
)

func main() {
fs := http.FileServer(http.Dir("."))
http.Handle("/", fs)

log.Println("Listening...")
http.ListenAndServe(":3000", nil)
}

所以我有一个 index.html 文件并希望服务器停止显示它。

最佳答案

FileServer 的文档声明:

As a special case, the returned file server redirects any request ending in "/index.html" to the same path, without the final "index.html".

所以/index.html被重定向到//foo/bar/index.html被重定向到/foo/bar/.

为避免这种情况,请为特殊情况注册一个额外的处理程序。

http.HandleFunc("/index.html", func(w http.ResponseWriter, r *http.Request) {
f, err := os.Open("index.html")
if err != nil {
// handle error
return
}
http.ServeContent(w, r, "index.html", time.Now(), f)
})

请注意我使用的是 ServeContent工商管理学院 ServeFile因为 ServeFile 处理 /index.html 请求的方式与 FileServer 相同。

关于golang 静态停止 index.html 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43527073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com