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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM