diff --git a/router.go b/router.go index 21479a13..5047497f 100644 --- a/router.go +++ b/router.go @@ -583,12 +583,11 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) } // 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 { + if requestPath[n-1] != '/' && requestPath+"/" == route.pattern { http.Redirect(w, r, requestPath+"/", 301) goto Admin } - if requestPath[n-1] == '/' && n >= 2 && requestPath[:n-2] == route.pattern { + if requestPath[n-1] == '/' && route.pattern+"/" == requestPath { runMethod = p.getRunMethod(r.Method, context, route) if runMethod != "" { runrouter = route.controllerType