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