mirror of
https://github.com/astaxie/beego.git
synced 2024-11-22 11:40:55 +00:00
when pattern is /admin while the url is /admin/ should return 200. fix #416
This commit is contained in:
parent
4d7f7ffa37
commit
7a3d05ebf3
10
router.go
10
router.go
@ -573,13 +573,21 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request)
|
||||
break
|
||||
}
|
||||
}
|
||||
// pattern /admin url /admin 200 /admin/ 404
|
||||
// pattern /admin url /admin 200 /admin/ 200
|
||||
// pattern /admin/ url /admin 301 /admin/ 200
|
||||
if requestPath[n-1] != '/' && len(route.pattern) == n+1 &&
|
||||
route.pattern[n] == '/' && route.pattern[:n] == requestPath {
|
||||
http.Redirect(w, r, requestPath+"/", 301)
|
||||
goto Admin
|
||||
}
|
||||
if n >= 1 && requestPath[:n-1] == route.pattern {
|
||||
runMethod = p.getRunMethod(r.Method, context, route)
|
||||
if runMethod != "" {
|
||||
runrouter = route.controllerType
|
||||
findrouter = true
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//find regex's router
|
||||
|
Loading…
Reference in New Issue
Block a user