2012-02-03 97 views
6

我有关于umbraco结构的这个问题,我无法在任何地方找到答案。如何设置Umbraco默认在子页面中?

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

  • 首页
    • 页面1
    • 第2页

默认页面会回家(这样www.mysite.com将指向家) 。

但是,如何更改此选项,以便www.mysite.com将指向page1或page2? 如果我有这种结构呢?

  • 包装
    • 指数
    • 页面1
    • 第2页

,我想www.mysite.com直来直去www.mysite.com/index .aspx

我找不到这样做的规则。尝试插入重写/重定向规则,并没有改变任何东西。

请帮

尼克

回答

4

重定向在一把umbraco通常是很简单的事,当你想从您的网站的根节点重定向时除外。

方法1:

它解释了它最好的位置:http://our.umbraco.org/wiki/reference/umbraco-best-practices/umbracoredirect

因此,通过增加一个umbracoInternalRedirectId属性,你的根节点,内容选择器中的数据类型是可能的。请注意,它不会重定向用户,而是在当前网址中加载该网页的内容。因此,网址将保留为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负责重定向。但它显然不会处理节点重命名/移动得太好。

+0

哇,这工作!!!! 我添加了重定向属性,它的工作! 谢谢! – Nick 2012-02-03 17:10:16

+0

不用担心。只要确保你仍然可以保存XSLT而没有错误(如果你甚至使用它们)。这正是使用Umbraco的重定向系统在根节点上如此棘手的主要原因,正如上面的链接所述。 – 2012-02-03 17:13:20

+0

我只使用剃刀而不是XSLT,并且网站似乎完美呈现 – Nick 2012-02-03 20:34:41

0

您可以使用Url重写 Config/UrlRewriting重定向到任何页面。配置

增加这个角色

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