| 
					
				 | 
			
			
				@@ -45,16 +45,27 @@ namespace Jellyfin.Server.Middleware 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var localPath = httpContext.Request.Path.ToString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var baseUrlPrefix = serverConfigurationManager.GetNetworkConfiguration().BaseUrl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (string.Equals(localPath, baseUrlPrefix + "/", StringComparison.OrdinalIgnoreCase) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                || string.Equals(localPath, baseUrlPrefix, StringComparison.OrdinalIgnoreCase) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                || string.Equals(localPath, "/", StringComparison.OrdinalIgnoreCase) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                || string.IsNullOrEmpty(localPath) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                || !localPath.StartsWith(baseUrlPrefix, StringComparison.OrdinalIgnoreCase)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!string.IsNullOrEmpty(baseUrlPrefix)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // Always redirect back to the default path if the base prefix is invalid or missing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                _logger.LogDebug("Normalizing an URL at {LocalPath}", localPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                httpContext.Response.Redirect(baseUrlPrefix + "/" + _configuration[ConfigurationExtensions.DefaultRedirectKey]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!localPath.StartsWith(baseUrlPrefix, StringComparison.OrdinalIgnoreCase) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    && localPath.EndsWith("/health", StringComparison.OrdinalIgnoreCase)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    _logger.LogDebug("Redirecting /health check"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    httpContext.Response.Redirect(baseUrlPrefix + "/health"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (string.Equals(localPath, baseUrlPrefix + "/", StringComparison.OrdinalIgnoreCase) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    || string.Equals(localPath, baseUrlPrefix, StringComparison.OrdinalIgnoreCase) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    || string.Equals(localPath, "/", StringComparison.OrdinalIgnoreCase) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    || string.IsNullOrEmpty(localPath) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    || !localPath.StartsWith(baseUrlPrefix, StringComparison.OrdinalIgnoreCase)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    // Always redirect back to the default path if the base prefix is invalid or missing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    _logger.LogDebug("Normalizing an URL at {LocalPath}", localPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    httpContext.Response.Redirect(baseUrlPrefix + "/" + _configuration[ConfigurationExtensions.DefaultRedirectKey]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             await _next(httpContext).ConfigureAwait(false); 
			 |