Как настроить Umbraco по умолчанию на подстранице? - PullRequest
7 голосов
/ 03 февраля 2012

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

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

  • Home
    • стр. 1
    • стр. 2

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

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

  • обертка
    • Индекс
    • стр. 1
    • страница 2

и я хочу, чтобы www.mysite.com сразу перешел на www.mysite.com/index.aspx

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

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

Ник

Ответы [ 2 ]

5 голосов
/ 03 февраля 2012

Перенаправление в 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 отвечает за перенаправление. Но он, очевидно, не справится с переименованием / перемещением узла.

0 голосов
/ 05 мая 2015

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

, добавив эту роль

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