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