我们最近将使用Sitecore 5 CMS构建的网站迁移到新的Server 2008 R2 / IIS 7.5计算机。但在此更改后,我们的Sitecore别名不再解析。
更新我不认为问题与我们的服务器移动有关。 Sitecore API中存在一些奇怪的现象。
问题是此方法调用Aliases.Exists()始终返回false:
if (Sitecore.Context.Database.Aliases.Exists(args.LocalPath))
{
var aliasId = Sitecore.Context.Database.Aliases.GetTargetID(args.LocalPath);
...
}
但我可以使用以下代码获取别名节点:
var folder = Sitecore.Context.Database.Items["/sitecore/system/Aliases"];
var aliasItem = folder.Axes.GetChild(args.LocalPath);
其中args.LocalPath类似于“/ thisIsAnAlias”。
我们在web.config文件中打开了AliasesActive,并且匿名用户具有对Alias节点的读取权限。
我做错了吗?为什么Context.Database.Aliases代码不能找到别名?
答案 0 :(得分:0)
可能已经检查过,但你看过System>别名文件夹检查别名是否仍然链接到各自的项目? “数据”下有一个字段,您可以在其中确认这个名为“链接项目”。