diff --git a/old/provider/kubernetes/kubernetes.go b/old/provider/kubernetes/kubernetes.go index efbdaaa06..7036df3f8 100644 --- a/old/provider/kubernetes/kubernetes.go +++ b/old/provider/kubernetes/kubernetes.go @@ -945,8 +945,12 @@ func getFrontendRedirect(i *extensionsv1beta1.Ingress, baseName, path string) *t permanent := getBoolValue(i.Annotations, annotationKubernetesRedirectPermanent, false) if appRoot := getStringValue(i.Annotations, annotationKubernetesAppRoot, ""); appRoot != "" && (path == "/" || path == "") { + regex := fmt.Sprintf("%s$", baseName) + if path == "" { + regex = fmt.Sprintf("%s/$", baseName) + } return &types.Redirect{ - Regex: fmt.Sprintf("%s$", baseName), + Regex: regex, Replacement: fmt.Sprintf("%s/%s", strings.TrimRight(baseName, "/"), strings.TrimLeft(appRoot, "/")), Permanent: permanent, } diff --git a/old/provider/kubernetes/kubernetes_test.go b/old/provider/kubernetes/kubernetes_test.go index 095186e71..023a17a90 100644 --- a/old/provider/kubernetes/kubernetes_test.go +++ b/old/provider/kubernetes/kubernetes_test.go @@ -1712,7 +1712,7 @@ rateset: ), frontend("root3", passHostHeader(), - redirectRegex("root3$", "root3/root"), + redirectRegex("root3/$", "root3/root"), routes( route("root3", "Host:root3"), ),