2012-02-03 38 views
6

Tôi có câu hỏi này về cấu trúc umbraco và tôi không thể tìm thấy câu trả lời ở bất cứ đâu.Cách thiết lập Umbraco thành mặc định trong trang con?

Thông thường trong Umbraco nó sẽ mặc định trang gốc thành nút đầu tiên của cây. vì vậy nếu chúng ta có

  • Home
    • trang 1
    • trang 2

trang mặc định sẽ có mặt ở nhà (vì vậy www.mysite.com sẽ trỏ đến nhà) .

Tôi làm cách nào để thay đổi điều này để www.mysite.com trỏ đến trang1 hoặc page2? Nếu tôi có cấu trúc này thì sao?

  • wrapper
    • index
    • trang 1
    • trang 2

và tôi muốn www.mysite.com để tiến thẳng tới www.mysite.com/index .aspx

Tôi không thể tìm thấy quy tắc thực hiện điều đó. Đã cố gắng chèn một quy tắc viết lại/chuyển hướng và nó không thay đổi bất cứ điều gì.

Xin giúp

Nick

Trả lời

4

chuyển hướng trong Umbraco thường là một chuyện rất đơn giản, trừ khi bạn đang cố gắng để chuyển hướng từ nút gốc của trang web của bạn.

Phương pháp 1:

Nó giải thích nó tốt nhất ở đây: http://our.umbraco.org/wiki/reference/umbraco-best-practices/umbracoredirect

Vì vậy, nó có thể bằng cách thêm một tài sản umbracoInternalRedirectId đến nút gốc của bạn, với các kiểu dữ liệu của Picker nội dung. Lưu ý rằng nó không chuyển hướng người dùng mà thay vào đó tải nội dung của trang đó bên trong url hiện tại. Vì vậy, URL sẽ vẫn giữ nguyên là http://www.mysite.com trong khi phân phối nội dung của trang mà bạn muốn chuyển hướng đến.

Cách 2:

Nếu bạn thực sự muốn nó thay đổi http://www.mysite.com/-http://www.mysite.com/index.aspx. Tôi thường thêm một cái gì đó giống như đoạn mã sau vào mẫu của nút gốc.

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

Vì vậy, ASP.Net chịu trách nhiệm chuyển hướng. Nhưng nó rõ ràng sẽ không xử lý đổi tên node/di chuyển quá tốt.

+0

wow mà làm việc !!!! Tôi đã thêm thuộc tính chuyển hướng và nó đã hoạt động! Cảm ơn bạn !! – Nick

+0

Không phải lo lắng. Chỉ cần đảm bảo bạn vẫn có thể lưu XSLT không có lỗi (nếu bạn thậm chí sử dụng chúng). Đó là lý do chính tại sao sử dụng hệ thống chuyển hướng của Umbraco có thể rất khó khăn trên nút gốc, như được giải thích trong liên kết ở trên. –

+0

Tôi chỉ sử dụng dao cạo thay vì XSLT và trang web dường như hiển thị hoàn hảo – Nick

0

bạn có thể chuyển hướng đến bất kỳ trang nào bằng cách sử dụng viết lại url Cấu hình/UrlRewriting.cấu hình

thêm Vai trò này

<add name="role1" 
    virtualUrl="^~/$" 
    destinationUrl="~/home" 
    redirect="Application" 
    redirectMode="Permanent" 
    ignoreCase="true" /> 
Các vấn đề liên quan