Browse Source

Fix redirect logic if request path is exactly the base url

Cody Robibero 3 years ago
parent
commit
a7585dd2d6
1 changed files with 5 additions and 2 deletions
  1. 5 2
      Jellyfin.Server/Middleware/BaseUrlRedirectionMiddleware.cs

+ 5 - 2
Jellyfin.Server/Middleware/BaseUrlRedirectionMiddleware.cs

@@ -58,9 +58,12 @@ namespace Jellyfin.Server.Middleware
                     return;
                 }
 
-                if (!startsWithBaseUrl)
+                if (!startsWithBaseUrl
+                    || localPath.Equals(baseUrlPrefix, StringComparison.OrdinalIgnoreCase)
+                    // Local path is /baseUrl/
+                    || (localPath.Length == baseUrlPrefix.Length + 1 && localPath[^1] == '/'))
                 {
-                    // Always redirect back to the default path if the base prefix is invalid or missing
+                    // Always redirect back to the default path if the base prefix is invalid, missing, or is the full path.
                     _logger.LogDebug("Normalizing an URL at {LocalPath}", localPath);
                     httpContext.Response.Redirect(baseUrlPrefix + "/" + _configuration[ConfigurationExtensions.DefaultRedirectKey]);
                     return;