【发布时间】:2026-01-21 19:35:01
【问题描述】:
我们有一个 Sitecore 网站,其中有几个项目的链接已断开,指向我们不再拥有的旧工作流程状态。我知道您可以在删除项目时删除链接,但是当丢失的项目已经消失时,我没有看到用于简单删除项目上的断开链接的界面。
在这种情况下,删除断开链接的最佳方法是什么?谢谢。
【问题讨论】:
-
尝试使用控制面板中的选项重建链接数据库
标签: sitecore
我们有一个 Sitecore 网站,其中有几个项目的链接已断开,指向我们不再拥有的旧工作流程状态。我知道您可以在删除项目时删除链接,但是当丢失的项目已经消失时,我没有看到用于简单删除项目上的断开链接的界面。
在这种情况下,删除断开链接的最佳方法是什么?谢谢。
【问题讨论】:
标签: sitecore
Sitecore 管理页面允许删除损坏的链接。你可以在这里找到它:
http://localhost/sitecore/admin/RemoveBrokenLinks.aspx
您只需选择数据库并执行操作。您还可以对在此过程中更改的所有项目进行序列化。
您可能需要更改web.config 中的超时设置:
<setting name="DefaultSQLTimeout" value="10:00:00" />
<setting name="DataProviderTimeout" value="00:00:00" />
【讨论】:
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);
【讨论】: