如何删除Sitecore中损坏的链接

时间:2015-02-25 17:23:08

标签: sitecore

我们有一个Sitecore网站,其中有几个项目已断开与旧工作流程状态的链接,而这些状态已不再适用于我们。我知道您可以在删除项目时删除链接,但是当缺少的项目已经消失时,我没有看到简单的界面删除项目上的断开链接。

在这种情况下删除断开链接的最佳方法是什么?感谢。

2 个答案:

答案 0 :(得分:12)

Sitecore管理页面允许删除损坏的链接。你可以在这里找到它:

  

http://localhost/sitecore/admin/RemoveBrokenLinks.aspx

您只需选择数据库并执行操作即可。您还可以序列化在此过程中更改的所有项目。

您可能需要更改web.config中的超时设置:

<setting name="DefaultSQLTimeout" value="10:00:00" />
<setting name="DataProviderTimeout" value="00:00:00" />

答案 1 :(得分:2)

Sitecore在web.config的LinkDatabase部分中指定的数据库中维护一个名为Links的表。您可以通过以下方式获取所有损坏的链接:

Sitecore.Data.Database db = Sitecore.Context.Database;
Sitecore.Links.LinkDatabase linkDb = Sitecore.Globals.LinkDatabase;
Sitecore.Links.ItemLink[] brokenLinks = linkDb.GetBrokenLinks(db);