Error adding to SiteMapProvider: System.InvalidOperationException: Multiple nodes with the same URL
Hi
I have got a site from an earlier web developer and it seems to have some problems - I hope some of you can help me out... It is a multi domain site with around 20 sites. running on Umbraco 4.5.2 with the old XMl schema
1 - On publish of some nodes I get his error (around 650 time in umbracoLog):
Error adding to SiteMapProvider: System.InvalidOperationException: Multiple nodes with the same URL '[nice url of the node]' were found. XmlSiteMapProvider requires that sitemap nodes have unique URLs. at System.Web.StaticSiteMapProvider.AddNode(SiteMapNode node, SiteMapNode parentNode) at umbraco.presentation.nodeFactory.UmbracoSiteMapProvider.loadNodes(String parentId, SiteMapNode parentNode)
I have searched the forum and web - but have not found the solution yet :(
2 - Wrong URLs after publish When publishing a (news) node on the root site, it often change the URL for the nodes to something wrong. The path becomes [site top level name]/[node path] but it should be [domain]/[node path]. If I republish the entire site (on the Content node) the path on all nodes gets back to normal... I don't know if this issue has something to do with the first one...
I realise its been a while. Did you find a solution?
You may try looking to the wiki page which has just helped me today.
My situation is trying to install Umbraco v 4.7.2 under medium trust on NetRegistry cloud hosting in Australia. It all was working 'fine' until I tried to republish a node. I got a 500 internal server erro. Saving had been ok, just publishing created the error. I looked in dbo.umbracoLog in my DB as I was locked out otherwise:
"Error adding to SiteMapProvider in loadNodes(): System.InvalidOperationException: Multiple nodes with the same URL '/' were found. XmlSiteMapProvider requires that sitemap nodes have unique URLs. at System.Web.StaticSiteMapProvider.AddNode(SiteMapNode node, SiteMapNode parentNode) at umbraco.presentation.nodeFactory.UmbracoSiteMapProvider.loadNodes(String parentId, SiteMapNode parentNode)".
It looked like I was locked out for some reason and the only thing to do was undo or republish in the hope that is 'flushed out' any error.
So my challenge was "how to republish nodes by entering a URL or via the DB". A quick google search lead me to umbraco's wiki where there were urls which trigger the republishing of part or the entire site without the need for the GUI. When I tried both "http://YOURDOMAIN/Umbraco/dialogs/republish.aspx?xml=true" and then "http://YOURDOMAIN/Umbraco/dialogs/republish.aspx?previews=true", I was able to log in again but now publishing content gave another error.
Now when publishing I was getting the error "This feature is currently disabled, please enable section system.web/siteMap in the configuration file."
A search led me to web.config and set the following: <roleManager enabled="true" defaultProvider="UmbracoRoleProvider"> However I already had it set like that so I changed it to "false", copied it to the server and then tried again. No joy, I changed it back to true - cleared my cache and then I could publish content.
if anyone still looking for solution, this is what helped me for Umbraco version 4.x.x not sure about Umbraco 6 or higher:
In web.config file remove entire SiteMapProvider section, don't set it to false just remove or comment it entirely else you will get another error while publishing.
I'm having similar issue. The error message one of our multi site, multi hostname installations shows these errors in the log files:
Error adding to SiteMapProvider in loadNodes(): System.Web.HttpException (0x80004005): 'http://www.site-one.com/donate/' is not a valid virtual path. at System.Web.Util.UrlPath.CheckValidVirtualPath(String path) at System.Web.Util.UrlPath.Combine(String appPath, String basepath, String relative) at System.Web.StaticSiteMapProvider.AddNode(SiteMapNode node, SiteMapNode parentNode) at umbraco.presentation.nodeFactory.UmbracoSiteMapProvider.loadNodes(String parentId, SiteMapNode parentNode)
I understand that disabling the site map provider is the solution above, but why is the site map provider in the web.config if it isn't required? I'd rather know what is causing it to fail.
Error adding to SiteMapProvider: System.InvalidOperationException: Multiple nodes with the same URL
Hi
I have got a site from an earlier web developer and it seems to have some problems - I hope some of you can help me out...
It is a multi domain site with around 20 sites. running on Umbraco 4.5.2 with the old XMl schema
1 - On publish of some nodes I get his error (around 650 time in umbracoLog):
Error adding to SiteMapProvider: System.InvalidOperationException: Multiple nodes with the same URL '[nice url of the node]' were found. XmlSiteMapProvider requires that sitemap nodes have unique URLs.
at System.Web.StaticSiteMapProvider.AddNode(SiteMapNode node, SiteMapNode parentNode)
at umbraco.presentation.nodeFactory.UmbracoSiteMapProvider.loadNodes(String parentId, SiteMapNode parentNode)
I have searched the forum and web - but have not found the solution yet :(
2 - Wrong URLs after publish
When publishing a (news) node on the root site, it often change the URL for the nodes to something wrong. The path becomes [site top level name]/[node path] but it should be [domain]/[node path].
If I republish the entire site (on the Content node) the path on all nodes gets back to normal...
I don't know if this issue has something to do with the first one...
Any help is appreciated...
Thanks in advance!
Hey Ivan,
I realise its been a while. Did you find a solution?
You may try looking to the wiki page which has just helped me today.
My situation is trying to install Umbraco v 4.7.2 under medium trust on NetRegistry cloud hosting in Australia. It all was working 'fine' until I tried to republish a node. I got a 500 internal server erro. Saving had been ok, just publishing created the error. I looked in dbo.umbracoLog in my DB as I was locked out otherwise:
It looked like I was locked out for some reason and the only thing to do was undo or republish in the hope that is 'flushed out' any error.
So my challenge was "how to republish nodes by entering a URL or via the DB". A quick google search lead me to umbraco's wiki where there were urls which trigger the republishing of part or the entire site without the need for the GUI. When I tried both "http://YOURDOMAIN/Umbraco/dialogs/republish.aspx?xml=true" and then "http://YOURDOMAIN/Umbraco/dialogs/republish.aspx?previews=true", I was able to log in again but now publishing content gave another error.
Now when publishing I was getting the error "This feature is currently disabled, please enable section system.web/siteMap in the configuration file."
A search led me to web.config and set the following: <roleManager enabled="true" defaultProvider="UmbracoRoleProvider"> However I already had it set like that so I changed it to "false", copied it to the server and then tried again. No joy, I changed it back to true - cleared my cache and then I could publish content.
Hope this helps.
Hi Ivan
I have the exact same problem. Did you find a solution?
Hi,
Take a look at this post where disabling the sitemap provider is suggested, to get rid of the log errors.
Cheers
Bjørn Fridal
if anyone still looking for solution, this is what helped me for Umbraco version 4.x.x not sure about Umbraco 6 or higher:
In web.config file remove entire SiteMapProvider section, don't set it to false just remove or comment it entirely else you will get another error while publishing.
This is how it looks:
<siteMap defaultProvider="UmbracoSiteMapProvider" enabled="true">
<providers>
<clear />
<add name="UmbracoSiteMapProvider" type="umbraco.presentation.nodeFactory.UmbracoSiteMapProvider" defaultDescriptionAlias="description" securityTrimmingEnabled="true" />
</providers>
</siteMap>
Then once you do this, republish your entire site and clear your cache. I use this url to do it:
http://www.yourwebsite.com/umbraco/dialogs/republish.aspx?xml=true
And then everything should work fine. Hope this might help someone.
I'm having similar issue. The error message one of our multi site, multi hostname installations shows these errors in the log files:
Error adding to SiteMapProvider in loadNodes(): System.Web.HttpException (0x80004005): 'http://www.site-one.com/donate/' is not a valid virtual path. at System.Web.Util.UrlPath.CheckValidVirtualPath(String path) at System.Web.Util.UrlPath.Combine(String appPath, String basepath, String relative) at System.Web.StaticSiteMapProvider.AddNode(SiteMapNode node, SiteMapNode parentNode) at umbraco.presentation.nodeFactory.UmbracoSiteMapProvider.loadNodes(String parentId, SiteMapNode parentNode)
I understand that disabling the site map provider is the solution above, but why is the site map provider in the web.config if it isn't required? I'd rather know what is causing it to fail.
is working on a reply...