2012-02-03 11 views
6

Ho questa domanda sulla strutturazione di umbraco e non riesco a trovare la risposta da nessuna parte.Come impostare Umbraco come predefinito in una sottopagina?

In Umbraco, in genere, il sito radice viene impostato come predefinito sul primo nodo dell'albero. quindi se abbiamo

  • casa
    • Pagina 1
    • pagina 2

la pagina di default sarà a casa (così www.mysite.com punterà a casa) .

Come si modifica questo tuttavia in modo che www.mysite.com punti a pagina1 o pagina2? Cosa succede se ho questa struttura?

  • involucro
    • indice
    • Pagina 1
    • pagina 2

e voglio www.mysite.com di andare direttamente alla www.mysite.com/index .aspx

Non sono riuscito a trovare una regola che lo faccia. Ho provato a inserire una regola di riscrittura/reindirizzamento e non ha cambiato nulla.

Aiutateci

Nick

risposta

4

reindirizzamento in Umbraco è di solito un affare molto semplice, tranne quando si sta cercando di reindirizzare dal nodo principale del sito.

Metodo 1:

E lo spiega meglio qui: http://our.umbraco.org/wiki/reference/umbraco-best-practices/umbracoredirect

Quindi è possibile con l'aggiunta di una proprietà umbracoInternalRedirectId al nodo principale, con il tipo di dati di Picker contenuti. Si noti che non reindirizza l'utente, ma invece carica i contenuti di quella pagina all'interno dell'url corrente. Quindi l'URL rimarrà come http://www.mysite.com mentre serve i contenuti della pagina a cui si desidera reindirizzare.

Metodo 2:

se si vuole veramente per cambiare http://www.mysite.com/-http://www.mysite.com/index.aspx. Di solito aggiungo qualcosa come il seguente codice al modello del nodo radice.

<%@ 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> 

In modo che ASP.Net sia responsabile del reindirizzamento. Ma ovviamente non gestirà la rinomina del nodo/si muoverà troppo bene.

+0

wow che ha funzionato !!!! Ho aggiunto la proprietà di reindirizzamento e ha funzionato! Grazie !! – Nick

+0

Nessun problema. Assicurati di poter ancora salvare gli XSLT senza errori (se li stai persino utilizzando). Questa è la ragione principale per cui l'utilizzo del sistema di reindirizzamento di Umbraco può essere così complicato sul nodo radice, come spiegato in questo link sopra. –

+0

Sto usando solo rasoio invece di XSLT e il sito sembra render perfettamente – Nick

0

è possibile reindirizzare a qualsiasi pagina utilizzando Riscrittura Url Config/UrlRewriting.config

l'aggiunta di questo ruolo

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