This link no longer works, because it may have been moved or deleted. You can try to find it and follow it in its new location.
I had a problem at a client who had SharePoint 2013 MySites and a couple of WebApplications. Users were able to follow sites and they appeared in their mysite as usual, however when they clicked on them, they had this error: This link no longer works, because it may have been moved or deleted. You can try to find it and follow it in its new location. The environment is in French, so I am not sure if this is the exact error in English, however I used Bing Translator to go from French to English… because I bet that’s what Microsoft uses! Here is the screenshot
And for the sake of indexing if anyone is searching for the related ULS log Errors:
Original error: Microsoft.Office.Server.UserProfiles.FollowedContentException: InternalError : Could not find item http://url.vlad.local at Microsoft.Office.Server.UserProfiles.FollowedContent.RefreshFollowedItem(FollowedItem item, SPS2SAppExecutionPolicy policy) at Microsoft.Office.Server.UserProfiles.FollowedContent.FindAndUpdateFollowedItem(Uri url) at Microsoft.Office.Server.UserProfiles.FollowedContentServerStub.InvokeMethod(Object target, String methodName, XmlNodeList xmlargs, ProxyContext proxyContext, Boolean& isVoid) at Microsoft.SharePoint.Client.ServerStub.InvokeMethodWithMonitoredScope(Object target, String methodName, XmlNodeList args, ProxyContext proxyContext, Boolean& isVoid) at Microsoft.SharePoint.Client.ClientMethodsProcessor.InvokeMethod(Object obj, String methodName, XmlNodeList xmlargs, Boolean& isVoid) at Microsoft.SharePoint.Client.ClientMethodsProcessor.ProcessMethod(XmlElement xe) at Microsoft.SharePoint.Client.ClientMethodsProcessor.ProcessOne(XmlElement xe) at Microsoft.SharePoint.Client.ClientMethodsProcessor.ProcessStatements(XmlNode xe) at Microsoft.SharePoint.Client.ClientMethodsProcessor.Process() FollowedContent.FindAndUpdateFollowedItem(http://url.vlad.local /) : Local execution failed; Could not open followed item http://url.vlad.local: Exception: InternalError : Could not find item http://url.vlad.local Exception occured in scope Microsoft.Office.Server.UserProfiles.FollowedContent.FindAndUpdateFollowedItem. Exception=Microsoft.Office.Server.UserProfiles.FollowedContentException: InternalError : Could not find item http://url.vlad.local at Microsoft.Office.Server.UserProfiles.FollowedContent.RefreshFollowedItem(FollowedItem item, SPS2SAppExecutionPolicy policy) at Microsoft.Office.Server.UserProfiles.FollowedContent.FindAndUpdateFollowedItem(Uri url) at Microsoft.Office.Server.UserProfiles.FollowedContentServerStub.InvokeMethod(Object target, String methodName, XmlNodeList xmlargs, ProxyContext proxyContext, Boolean& isVoid) at Microsoft.SharePoint.Client.ServerStub.InvokeMethodWithMonitoredScope(Object target, String methodName, XmlNodeList args, ProxyContext proxyContext, Boolean& isVoid)
The actual error is because the way Microsoft designed SharePoint 2013 to use only 1 Web Application, therefore only 1 Application Pool account that has access on all content databases. However, for 75% of the enterprises who are still on premise, they have separate Web Applications for the MySites and for the content, and if they followed Service Account security properly they will have a different Application Pool account for MySites Web Applications then the rest of the Web Applications.
However, when a user clicks on a site on the MySite, the MySite Web Application Pool account goes to check in the followed site content database if that site still exists. By default, SharePoint 2013 won’t give the Application Pool Account of the MySite Web Application access on the other Web Applications Content Databases, and that’s normal because we’re putting them in different Web Applications to separate them right?
To solve the problem go in SQL and give the account that runs the MySite Application Pool, and give it “SPDataAcces”. Everything should now work properly!