Umbraco friendly URL not working after manully change the database
As been requested, I wrote some code which basically change the document's date (the document of umbraco blog).
I have changed every place I can find the date, and mak开发者_如何转开发es all the date displays fine, and I have adjusted the path to make it correct.
Now, the url indicated in the umbraco.library.NiceUrl(id) is not working, but previous url is still working.... Just wondering is there any file which 'temporarily' or 'permanently' store the friendly url mapping? if so, how can i modify that?!
Btw, where is the umbraco cache file stored?
btw, umbraco version 4.0.3, restart the website still not working, change the document title will result in old url's title changed, but new url is still not working...
The progress report and possible solution.
in /config/umbracoSettings.config
Disable the cache will do the job, basically:
False
This is a bit overkill, however it temporarily solves my issue... (above need restart of the website as well, it seems only disable the persist to disk, the url itself is still cached in a Hashtable, refer to: umbraco.presentation.requestHandler.cs)
ok, cannot find from document, debugging umbraco gives me following working code:
umbraco.library.UpdateDocumentCache(docId);
var elem = umbraco.content.Instance.XmlContent.GetElementById(docId.ToString());
umbraco.content.Instance.XmlContent.GetElementById(origParentId.ToString()).RemoveChild(elem);
umbraco.content.Instance.XmlContent.GetElementById(parentId.ToString()).AppendChild(elem);
Umbraco only builds the urls when you republish the entire site or when you create new content. If you right click on the top most content node in the Content area and then select "republish all" and follow the popups that should rebuild your whole url cache.
Let me know if that fixes the issue.
精彩评论