Aep*_*ude 2 c# asp.net-mvc umbraco umbraco7
尝试使家庭节点映射到umbraco中的“ /”路由时出现上述问题。我一直在遵循“混合框架”包中使用的方法
我的结构如下(网站位于树的根中)
Website node
|
- Home node
|
- Other nodes
Run Code Online (Sandbox Code Playgroud)
我创建了一个主页url提供程序,它返回正确的url,如下所示;
public string GetUrl(UmbracoContext umbracoContext, int id, Uri current, UrlProviderMode mode)
{
var content = umbracoContext.ContentCache.GetById(id);
if (content != null && content.DocumentTypeAlias.ToLower() == "home" && content.Parent != null)
{
//The home node will have / instead of /home/.
return content.Parent.Url;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
浏览到家庭节点(在后台)时,我检查了该项目的url属性,并收到以下错误;
该文档已发布,但其网址将与内容/网站(id = 1083)冲突
我从混合框架到字母都遵循了这种方法,我不确定哪里出了问题。
我也检查了这个博客;
我已将网站节点上的UmbracoInternalRedirectId属性设置为指向主节点。
我仍然找不到任何线索。有人可以帮忙吗?非常感谢
编辑:
我仍在尝试深入了解!
我已经完成了其他人对配置文件的建议,但这没有用。
为了更清楚地表达我的观点,我使用香草umbraco安装程序复制了错误,并将其上传到github;
https://github.com/Aeptitude/BrokenURLUmbraco
它只是使用一个sdf文件作为应包含的数据库。
在其下有一个根网站节点和一个主页节点。有一个umbracointernalredirectid指向下面的本地节点。如我的原始帖子中所述设置HomeUrlProvider。如果有人能抓住这个并帮助我,那将是很棒的。用户名是admin,密码是password11
非常感谢。
您还可以在web.config中启用umbracoHideTopLevelNodeFromPath属性,以使用树中的所有级别生成路径。
如果要将域保留在生成的URL中,则可以使用umbracoSettings.config文件中的useDomainPrefixes设置启用它。
正如其他答案中所描述的那样-使用您的自定义URL提供程序,您需要确保只有一个节点将接收相同的URL-上述涉及默认Umbraco行为的设置正是上述内容。
| 归档时间: |
|
| 查看次数: |
1305 次 |
| 最近记录: |