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

1. 引入依赖库  

github.com/gin-contrib/static

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

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()
        }
    })

 

上一篇:TP5可以访问首页,但是其它页面无法访问,报404


下一篇:Mac brew 安装的 Mysql 8 重置 root 密码