diff --git a/Oqtane.Client/UI/SiteRouter.razor b/Oqtane.Client/UI/SiteRouter.razor index 79ff5b42..048df3d7 100644 --- a/Oqtane.Client/UI/SiteRouter.razor +++ b/Oqtane.Client/UI/SiteRouter.razor @@ -623,7 +623,7 @@ } // ensure resource does not exist already - if (!pageresources.Exists(item => item.Url.ToLower() == resource.Url.ToLower())) + if (!pageresources.Exists(item => Utilities.GetUrlPath(item.Url).ToLower() == Utilities.GetUrlPath(resource.Url).ToLower())) { pageresources.Add(resource.Clone(level, name, fingerprint)); } diff --git a/Oqtane.Server/Components/App.razor b/Oqtane.Server/Components/App.razor index 868755aa..ae7d1632 100644 --- a/Oqtane.Server/Components/App.razor +++ b/Oqtane.Server/Components/App.razor @@ -764,7 +764,7 @@ } // ensure resource does not exist already - if (!pageresources.Exists(item => item.Url.ToLower() == resource.Url.ToLower())) + if (!pageresources.Exists(item => Utilities.GetUrlPath(item.Url).ToLower() == Utilities.GetUrlPath(resource.Url).ToLower())) { pageresources.Add(resource.Clone(level, name, fingerprint)); } diff --git a/Oqtane.Shared/Shared/Utilities.cs b/Oqtane.Shared/Shared/Utilities.cs index 1a1fb8c3..95ae2cd1 100644 --- a/Oqtane.Shared/Shared/Utilities.cs +++ b/Oqtane.Shared/Shared/Utilities.cs @@ -491,6 +491,15 @@ namespace Oqtane.Shared return querystring; } + public static string GetUrlPath(string url) + { + if (url.Contains("?")) + { + url = url.Substring(0, url.IndexOf("?")); + } + return url; + } + public static string LogMessage(object @class, string message) { return $"[{@class.GetType()}] {message}";