We just upgraded our site from 4.11.10 to 6.2.4 and now one of our editors noticed some URL's in the site changed causing Google to generate more 404's.
We didn't change anything in the urlReplacing setting during the upgrade. The parentheses are and were not in there. We also don't have the toAscii setting set.
What changed between these 2 Umbraco versions on generating URL's? We now have a rewrite rule as a quick fix to remove the 2 characters but what other characters might have disappeared?
We merged every config file by hand to be sure every change would be taken into account and our own changes wouldn't get lost. The IIS hasn't changed indeed.
Very strange, we didn't change any code after the upgrade. We only fixed the braking changes to get the site running again.
I just created a new blank Umbraco installation based on version 6.2.4 with all the default settings. I only switched to MVC mode and directory style URL's. I created a dummy document type and added a node with the same name as in my real world site.
And the exact same (faulty) url is generated without the parentheses.
Would be by design as the new "url segments" provider is much more aggressive with cleaning up urls. Basically everything that is not a char or a digit is going to be removed. Breaking change, of course, but hey - you went from v4 to v6 ;-) That being said it is possible to replace the provider should the change be "too breaking" for you.
Stephan, thanks for the info. Was it mentioned somewhere as a breaking change? Now it's difficult to know what URL's have been changed and would cause a 404 so I can handle them.
Does this also change the behaviour of the umbraco.cms.helpers.url.FormatUrl() method?
And last question. Are all the char items under urlReplacing in umbracoSettings.config obsolete then?
1/ cannot remember whether it was listed as breaking or not... though I think that the replacement of the "short string helper" that is used underneath the url segments provider, was listed as breaking
2/ yes - FormatUrl() now uses the url segments provider - so basically all urls are now generated by the same unique code
3/ I would consider them obsolete but they are still supported, ie they still work
URL's changed after upgrade
We just upgraded our site from 4.11.10 to 6.2.4 and now one of our editors noticed some URL's in the site changed causing Google to generate more 404's.
This was the URL before the upgrade:
http://www.livios.be/nl/bouwen-verbouwen-of-kopen/duurzaam-wat-waarom-en-hoe/bijna-energieneutraal-(ben)/
This is the URL after the upgrade:
http://www.livios.be/nl/bouwen-verbouwen-of-kopen/duurzaam-wat-waarom-en-hoe/bijna-energieneutraal-ben/
Notice the 2 parentheses at the end disappeared.
We didn't change anything in the urlReplacing setting during the upgrade. The parentheses are and were not in there. We also don't have the toAscii setting set.
What changed between these 2 Umbraco versions on generating URL's? We now have a rewrite rule as a quick fix to remove the 2 characters but what other characters might have disappeared?
Hi Stief
Does the pagename of the site have the () around (ben) in the property tab of that page? Or has it never been there before upgrading either?
/Jan
The parentheses have always been in the name: "Bijna-energieneutraal (BEN)"
We also use the 301 URL tracker package to handle name changes. But in this case the name never changed so the URL's end up with a 404.
Hi Stief
ok, well yeah it should indeed be displayed as (BEN) then unless something in another layer has changed under the hood I guess.
Did you merge the /config/ files as a part of the upgrade process? I assume nothing has been changed in the IIS setup during the process?
/Jan
We merged every config file by hand to be sure every change would be taken into account and our own changes wouldn't get lost. The IIS hasn't changed indeed.
Very strange, we didn't change any code after the upgrade. We only fixed the braking changes to get the site running again.
Jan
I just created a new blank Umbraco installation based on version 6.2.4 with all the default settings. I only switched to MVC mode and directory style URL's. I created a dummy document type and added a node with the same name as in my real world site.
And the exact same (faulty) url is generated without the parentheses.
Maybe a bug after all?
Hi Stief
Yeah, sure smells like a bug. You know where to report it, right? :)
/Jan
Will do! Thanks for your assistance.
Would be by design as the new "url segments" provider is much more aggressive with cleaning up urls. Basically everything that is not a char or a digit is going to be removed. Breaking change, of course, but hey - you went from v4 to v6 ;-) That being said it is possible to replace the provider should the change be "too breaking" for you.
Stephan, thanks for the info. Was it mentioned somewhere as a breaking change? Now it's difficult to know what URL's have been changed and would cause a 404 so I can handle them.
Does this also change the behaviour of the umbraco.cms.helpers.url.FormatUrl() method?
And last question. Are all the char items under urlReplacing in umbracoSettings.config obsolete then?
1/ cannot remember whether it was listed as breaking or not... though I think that the replacement of the "short string helper" that is used underneath the url segments provider, was listed as breaking
2/ yes - FormatUrl() now uses the url segments provider - so basically all urls are now generated by the same unique code
3/ I would consider them obsolete but they are still supported, ie they still work
is working on a reply...