2012-02-03 92 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" />