Beego 路由 过滤和重定向
程序开发
2023-09-08 18:33:23
Beego路由过滤和重定向问题
问题
公司项目的Web服务器是用beego搭建,前端时间有需求将http请求重定向到 https请求,
修改
由于公司之前用 / 目录设置静态文件目录。
在网上查到使用 Redirect 可以设置重定向
但发现 设置后并没有想象当中的转发成功 后来研究 平台源码发现
再执行 Redirect 函数前程序先去查找静态文件路由 导致设置没有生效 但发现了 filters 这个参数可以在执行查找静态文件前判断
完善
后在 router.go 页面添加重定向函数
var Filterhttp = func(ctx *context.Context) {//如果配置了自动跳转 并且是http请求 则执行自动跳转if redirect,_:=beego.AppConfig.Bool("RedirectHttps");redirect&&ctx.Request.TLS==nil{port:=util.ToString(beego.BConfig.Listen.HTTPSPort,"443")ip:=strings.Split(ctx.Input.Host(),":")ctx.Redirect(302,"https://"+ip[0]+":"+port+"/")}}
并且在 初始化里面添加 过滤项
beego.InsertFilter("/", beego.BeforeStatic, Filterhttp)
第一个参数 是要过滤的URL
第二个参数 执行过滤位置
第三个参数 我们写的回调函数
完美解决
标签:
上一篇:
Angular 学习笔记 (一) 项目结构基础
下一篇:
相关文章
-
无相关信息