Как настроить Umbraco по умолчанию на подстранице?

У меня есть этот вопрос о структурировании umbraco, и я нигде не могу найти ответ.

Обычно в Umbraco корневой сайт по умолчанию устанавливается на первый узел дерева. так что если у нас есть

  • Home
    • page 1
    • страница 2

страница по умолчанию будет домашней (поэтому www.mysite.com будет указывать на домашнюю).

Однако как мне изменить это, чтобы www.mysite.com указывал на страницу 1 или страницу 2? Что делать, если у меня есть эта структура?

  • wrapper
    • index
    • Страница 1
    • страница 2

и я хочу, чтобы www.mysite.com вел прямо к www.mysite.com/index.aspx

Я не смог найти правило, которое делает это. Пробовал вставлять правило перезаписи/перенаправления, ничего не изменилось.

Пожалуйста помоги

Ник


person Nick    schedule 03.02.2012    source источник


Ответы (2)


Перенаправление в Umbraco обычно очень простое дело, за исключением случаев, когда вы пытаетесь перенаправить с корневого узла вашего сайта.

Способ 1:

Лучше всего это объясняется здесь: http://our.umbraco.org/wiki/reference/umbraco-best-practices/umbracoredirect

Это возможно, если добавить свойство umbracoInternalRedirectId к корневому узлу с типом данных Content Picker. Обратите внимание, что он не перенаправляет пользователя, а вместо этого загружает содержимое этой страницы внутри текущего URL-адреса. Таким образом, 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. Но, очевидно, он не слишком хорошо справится с переименованием/перемещением узлов.

person Goran Mottram    schedule 03.02.2012
comment
Не волнуйтесь. Просто убедитесь, что вы все еще можете сохранять XSLT без ошибок (если вы вообще их используете). Это основная причина, по которой использование системы перенаправления Umbraco может быть таким сложным на корневом узле, как описано в этой ссылке выше. - person Goran Mottram; 03.02.2012
comment
Я использую только бритву вместо XSLT, и сайт выглядит идеально. - person Nick; 04.02.2012

вы можете перенаправить на любую страницу, используя Url Rewriting Config/UrlRewriting.config

добавление этой роли

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