From b9d554908d1eef0afd79ba3706d7a8dbc59361e7 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Mon, 4 Feb 2019 21:03:45 +0100 Subject: [PATCH] Track redirects for invariant content under variant content --- src/Umbraco.Web/Routing/RedirectTrackingComponent.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web/Routing/RedirectTrackingComponent.cs b/src/Umbraco.Web/Routing/RedirectTrackingComponent.cs index c49dffd6e4..8877ee2884 100644 --- a/src/Umbraco.Web/Routing/RedirectTrackingComponent.cs +++ b/src/Umbraco.Web/Routing/RedirectTrackingComponent.cs @@ -157,9 +157,14 @@ namespace Umbraco.Web.Routing { var entityContent = contentCache.GetById(entity.Id); if (entityContent == null) continue; + + // get the default affected cultures by going up the tree until we find the first culture variant entity (default to no cultures) + var defaultCultures = entityContent.AncestorsOrSelf()?.FirstOrDefault(a => a.Cultures.Any())?.Cultures.Select(c => c.Key).ToArray() + ?? new[] {(string) null}; foreach (var x in entityContent.DescendantsOrSelf()) { - var cultures = x.Cultures.Any() ? x.Cultures.Select(c => c.Key) : new[] {(string) null}; + // if this entity defines specific cultures, use those instead of the default ones + var cultures = x.Cultures.Any() ? x.Cultures.Select(c => c.Key) : defaultCultures; foreach (var culture in cultures) {