如何在子页面中将Umbraco设置为默认值?

时间:2012-02-03 15:46:59

标签: redirect indexing structure default umbraco

我有关于umbraco结构的问题,我无法在任何地方找到答案。

通常在Umbraco中,它会将根网站默认为树的第一个节点。 所以,如果我们有

  • 主页
    • 第1页
    • 第2页

默认页面将在家(因此www.mysite.com将指向家中)。

如何更改此设置,以便www.mysite.com指向page1或page2? 如果我有这种结构怎么办?

  • 包装
    • 索引
    • 第1页
    • 第2页

我希望www.mysite.com直接访问www.mysite.com/index.aspx

我找不到那样做的规则。尝试插入重写/重定向规则并且它没有改变任何内容。

请帮忙

尼克

2 个答案:

答案 0 :(得分:5)

在Umbraco中重定向通常是非常简单的事情,除非您尝试从站点的根节点重定向。

方法1:

最好在这里解释一下:http://our.umbraco.org/wiki/reference/umbraco-best-practices/umbracoredirect

因此,可以通过向根节点添加umbracoInternalRedirectId属性,其数据类型为Content Picker。请注意,它不会重定向用户,而是在当前URL内加载该页面的内容。因此,在提供您要重定向到的网页内容时,网址将保留为http://www.mysite.com

方法2:

如果您真的希望它从http://www.mysite.com/更改为http://www.mysite.com/index.aspx。我通常会将以下代码添加到根节点的模板中。

<%@ Master Language="C#" MasterPageFile="~/umbraco/masterpages/default.master" AutoEventWireup="true" %>
<asp:Content ContentPlaceHolderID="ContentPlaceHolderDefault" runat="server">
</asp:Content>
<script type="c#" runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Redirect("http://www.mysite.com/index.aspx");    
    }
</script>

这样ASP.Net就负责重定向。但它显然不会处理节点重命名/移动太多。

答案 1 :(得分:0)

您可以使用网址重写重定向到任何网页 配置/ UrlRewriting.config

添加此角色

<add name="role1"
  virtualUrl="^~/$"
  destinationUrl="~/home"
  redirect="Application"
  redirectMode="Permanent"
  ignoreCase="true" />