【问题标题】:How to remove broken links in Sitecore如何在 Sitecore 中删除损坏的链接
【发布时间】:2026-01-21 19:35:01
【问题描述】:

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

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

【问题讨论】:

  • 尝试使用控制面板中的选项重建链接数据库

标签: sitecore


【解决方案1】:

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

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

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

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

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

【讨论】:

  • 谢谢!我是 sitecore 的新手,为什么要对已更改的项目进行序列化?
  • 如果您在操作后发现缺少重要的内容,您可以从序列化文件中反序列化旧版本的项目。
【解决方案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);

【讨论】:

    最近更新 更多