不为别的,只为做一个连自己都羡慕的人

go+gin部署vue的history路由项目,刷新出现404,解决方案

1. 引入依赖库  

github.com/gin-contrib/static

2.  配置默认页面

r := gin.Default()
r.Use(static.Serve("/", static.LocalFile("templates/index.html", true)))

3.  关键点【解决页面刷新404的问题】

// 关键点【解决页面刷新404的问题】
    // 404 NotFound
    r.NoRoute(func(c *gin.Context) {
        accept := c.Request.Header.Get("Accept")
        flag := strings.Contains(accept, "text/html")
        if flag {
            content, err := ioutil.ReadFile("templates/index.html")
            if (err) != nil {
                c.Writer.WriteHeader(404)
                c.Writer.WriteString("Not Found")
                return
            }
            c.Writer.WriteHeader(200)
            c.Writer.Header().Add("Accept", "text/html")
            c.Writer.Write((content))
            c.Writer.Flush()
        }
    })

 

posted @ 2022-01-25 18:19  升级打怪  阅读(1242)  评论(0编辑  收藏  举报