Redirect /minio to /minio/ when requests come from browsers (#2937)

This commit is contained in:
Anis Elleuch 2016-10-15 14:21:51 +01:00 committed by Harshavardhana
parent 903574db90
commit 5c3639c1b7

View File

@ -80,15 +80,20 @@ func (h redirectHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
if !strings.EqualFold(os.Getenv("MINIO_BROWSER"), "off") {
// Re-direction handled specifically for browsers.
if strings.Contains(r.Header.Get("User-Agent"), "Mozilla") && !isRequestSignatureV4(r) {
// '/' is redirected to 'locationPrefix/'
// '/webrpc' is redirected to 'locationPrefix/webrpc'
// '/login' is redirected to 'locationPrefix/login'
switch r.URL.Path {
case "/", "/webrpc", "/login", "/favicon.ico":
// '/' is redirected to 'locationPrefix/'
// '/webrpc' is redirected to 'locationPrefix/webrpc'
// '/login' is redirected to 'locationPrefix/login'
location := h.locationPrefix + r.URL.Path
// Redirect to new location.
http.Redirect(w, r, location, http.StatusTemporaryRedirect)
return
case h.locationPrefix:
// locationPrefix is redirected to 'locationPrefix/'
location := h.locationPrefix + "/"
http.Redirect(w, r, location, http.StatusTemporaryRedirect)
return
}
}
}