U4-9442 - Child Application Error - This document is published but its url would collide with content (error)

Created by Ben Palmer 27 Jan 2017, 13:32:07 Updated by Sebastiaan Janssen 14 Aug 2018, 07:36:45

Relates to: U4-9430

We have an umbraco site set up as a child application of another umbraco site. This all works fine and has been for similar setups in the past.

However, I've just upgraded to Umbraco 7.5.8 - and although the site still works as normal - I'm seeing the following error when viewing the Properties tab in the CMS:

This document is published but its url would collide with content (error)

This only happens since the upgrade (from 7.5.3) and locally (i.e. not set up as a child application) works fine. This affects all pages throughout the site, all pages work as normal and I can make changes, save and publish just fine. We also only have one homepage set up.

I've tried a suggestion from Dennis Adolfi to set useDomainPrefixes to true in config/umbracoSettings.config in this thread with no luck: https://our.umbraco.org/forum/using-umbraco-and-getting-started/82579-child-application-error-this-document-is-published-but-its-url-would-collide-with-content-error

I've done a bit of a search and only came up with the following thread:

https://our.umbraco.org/forum/extending-umbraco-and-using-the-api/81741-urlsegmentprovider-giving-this-document-is-published-but-its-url-would-collide-with-content-error

We don't have any custom url providers or anything similar in this project some I'm at a bit of a loss why this is happening.

Also, I've tried looking through the commit history for Umbraco and specifically the files around this error - I came up with this but haven't figured out what's going on: https://github.com/umbraco/Umbraco-CMS/commit/13ed3303f50c8ff9f226ace28823bec882b16b95#diff-aa11b0a0749167a1adba898cb659126cR78

Thanks for any help,

Ben

2 Attachments

Comments

Ben 07 Feb 2017, 18:30:11

I am having the same issue on one of my sites that's using v7.5.7. I have another site that is on v7.5.6 and it does not do the same thing. I attached screen shots of the two different versions.


Emma Garland 28 Feb 2017, 10:29:27

Same issue here. Version 7.5.10, upgraded via nuget from 7.4.3.

I setup some preparatory domains for roughly testing some multilingual work, with the language culture set as inherit, and two new domains set to the relevant language (e.g. [url]/de to de, [url]/fr to fr-FR), and finally, I set en-US to the same default root domain.

This last act is what triggered the error throughout my application - removing this last setting - the en-US domain - meant things went back to normal.

This affected an out of the box Articulate blog install (which isn't under the home node), and our global section, again not under the root home node, although we didn't need to navigate to those.

All times the published urls anywhere except Home said "This document is published but its url would collide with content (error)" except for the Home root nodes.


Petr Svoboda 03 Mar 2017, 16:17:06

A have same problem when i add address with ".aspx" on the end of url.


Angus MacLean 07 Mar 2017, 22:23:15

Similar issue when upgrading from 7.4.2 to 7.5.10.

As in Emma's case above, home node culture set as 'inherit' alongside two domains and associated languages. All nodes except the home node display "This document is published but its url would collide with content (error)"

A clean 7.5.10 install appears to work as expected: adding a custom UrlProvider generates the same error for specific, predictable nodes but not for all nodes as in the upgraded site. Removing all custom UrlProviders did not solve the global problem present in the upgraded site.

Update: Tracked the problem down to umbracoUseDirectoryUrls being set to false in web.config. Setting this to true cleared the issue - does this imply that setting this flag to false is no longer valid?


Mischa Landwehr 28 Mar 2017, 16:50:40

Same issue after upgrading from 7.5.6 to 7.5.11 for eight websites.


Petr Svoboda 06 Apr 2017, 14:26:05

Unassigned? Why?


MrFlo 20 Apr 2017, 11:12:34

I'm having the same issue after updating to 7.5.13 from 7.5.6 with my custom UrlProvider that was working properly before.


VitDas 24 May 2017, 07:15:51

Try also set false as it should be used with Models Builder only

1.Touch web.config to reload the application 2.Republish entire site to recreate the cache - this helped me


Zac 16 Jun 2017, 12:00:23

This is bugging me too and has been for a while.

In my case I'm using a UrlProvider that creates a unique URL for a nodes inside a folder at root level that don't otherwise have a culture and hostname set. However I have tested with Url preview and the URLs are fine and unique: https://our.umbraco.org/projects/backoffice-extensions/url-preview/


MrFlo 16 Jun 2017, 20:41:21

Hi it's a known issue @zpqrtbnk told me at Code Garden that there is a verification system that wasn't there in previous versions. So it's a kind of bug from the new version.


Akhilesh Sabharwal 21 Aug 2017, 16:22:50

@svoboda@havit.cz Facing the same issue with Directory URLs off. In our case there is a very massive 3500+ page site which we have migrated to Umbraco. the SEO team insisted on keeping .aspx urls.

I can narrow it down to this problem, because on another site where we are using Directory URLs its working perfectly.


Dan Booth 24 Aug 2017, 08:27:31

The issue can easily happen if you have the following scenario and umbracoHideTopLevelNodeFromPath is true (which is default). You tree looks like this:

Home -- News -- Events -- Quiz Widgets -- Widget One -- Quiz -- Widget Two

So in the above tree there are two root nodes (Home and Widgets). In this scenario Widgets don't have templates - they are simple content that can be re-used and selected via an MNTP. However, because umbracoHideTopLevelNodeFromPath is true (and the root level page is treated as "/" in the path) then the page Quiz under Home and the widget Quiz under Widgets will both have the same URL (/quiz/) and hence the collide error.

You could "fix" this by changing umbracoHideTopLevelNodeFromPath to false but this has it's own issues, namely your home page will now have a URL of /home/ - which isn't what many people want.

The best way I can see that the core team could fix this would be to only apply umbracoHideTopLevelNodeFromPath logic to the very first root node in the tree (ie. it would apply to /home/ but none of the other levels). That would leave the URL of the first quiz as /quiz/ but the one in widgets as /widgets/quiz/ avoiding any collision but still leaving the main homepage as /home/).


Ben 24 Aug 2017, 12:22:44

I tried changing umbracoHideTopLevelNodeFromPath to false in the web.config, but I am still getting "This document is published but its url would collide with content (error)" on every page.


Ben 24 Aug 2017, 12:31:30

I just fixed this for my site! I found that I had to have the following in the web.config:

I have multiple root nodes, and this combinations seems to be the key to allow the "Link to document" in the back office to work.

Also, if I have a page that collides with another, it gives me a message like this so I know which page it is colliding with:

"This document is published but its url would collide with content /Home/Emergency Contacts (id=1348)"


Petr Svoboda 09 Jan 2018, 14:22:59

After I update to 7.7.8, i have this message on all items: "This document is published but its url would collide with content (error)" Error log is clean, any detailed informations are unavailable... I must go to the Umbraco sources :-(


Ben 09 Jan 2018, 14:30:57

Did you try updating your web.config with the following?

It is working for me on 7.6.2 and I am curious if it that would fix your problem as well.


Petr Svoboda 09 Jan 2018, 14:52:04

@Ben: No, it's not working for me. Thanks.

I found the error message in Umbraco, but i don't understand about the code:

public static IEnumerable GetContentUrls(this IContent content, UmbracoContext umbracoContext) { ... var pcr = new PublishedContentRequest(uri, UmbracoContext.Current.RoutingContext, UmbracoConfig.For.UmbracoSettings().WebRouting, s => Roles.Provider.GetRolesForUser(s));
pcr.Engine.TryRouteRequest();

if (pcr.HasPublishedContent == false) { urls.Add(ui.Text("content", "routeError", "(error)", umbracoContext.Security.CurrentUser)); } ...


Petr Svoboda 10 Jan 2018, 16:28:22

Resolved. I make my own UrlProvider, but not make my own ContentFinder. Creation of propriate ContentFinder resolve the problem.


andrei 27 Jan 2018, 12:56:31

Just hit the issue myself in 7.7.4. I have two root nodes homenode and globalsettings. All nodes under global settings are showing the error message. Anyone looking to fix this bug?


andrei 03 Mar 2018, 14:53:55

Same problem in 7.8.1.


Avinash Maurya 11 Aug 2018, 17:59:59

I upgraded from 7.4.3 => 7.6.11 .The same problem is for version 7.6.11 . I changed the false and also

still @ben E.g:- This document is published but its url would collide with content /Home/Emergency Contacts (id=1348)"

nothing resolved.


Avinash Maurya 13 Aug 2018, 13:25:38

adding
My previous version umbraco 7.4.3 now upgraded to 7.6.11

n umbracoalias in previous version it would take the whole url and replace to link to document. but after upgrading it


Avinash Maurya 13 Aug 2018, 13:26:02

adding
My previous version umbraco 7.4.3 now upgraded to 7.6.11

In umbracoalias in previous version it would take the whole url and replace to link to document.E.g www.abc.com/str/page. but after upgrading it only accepts the absolute path E.g /str/page and when run on browser it takes admin url as prefix to url. Done false


Priority: Normal

Type: Bug

State: Submitted

Assignee:

Difficulty: Normal

Category:

Backwards Compatible: True

Fix Submitted:

Affected versions: 7.5.10, 7.6.1

Due in version:

Sprint:

Story Points:

Cycle: