2015-03-18 3 views
1

У нас есть папка, расположенная по этому пути: http://www.oursite.com/careers. В этой папке есть несколько страниц, но этот путь вызывает страницу, не найденную в макете, что ожидается, так как это всего лишь папка.Sitecore alias не работает

Клиенту нужен URL-адрес тщеславия для некоторых маркетинговых материалов по тому же адресу: http://www.oursite.com/careers. Я создал псевдоним, но я все еще получаю макет не найденной страницы. Понятно, что резольверы в узле HttpRequestBegin работают в том порядке, в котором они размещены в config. AliasResolver задолго до ItemResolver, поэтому я думаю, что псевдоним должен работать, но это не так.

+0

Публикация псевдонимов? – jammykam

+0

есть. Я подключился к обе веб-БД, и элемент есть. – Scott

+0

Подтвердили ли вы, что целевой объект для псевдонима правильно отображается при доступе с использованием полного URL-адреса? –

ответ

2

Are псевдоним включен:

<setting name="AliasesActive" value="true" />` 

Вы используете MVC, поэтому вы используете cshtml для компоновки элементов?

+0

У нас есть много других псевдонимов, что все работают как ожидалось. Это единственный, который имеет соответствующий элемент в дереве контента и является единственным, который не работает. – Scott

+0

Мы используем MVC и cshtml для компоновки. – Scott

+1

Это связано с MVC, я видел это, но так и не решил. Макеты Aspx работают отлично, но не cshtml в этом сенарии. Вы уверены, что не можете отобразить содержимое в псевдониме? Использование псевдонима не является идеальным, если вы получаете псевдоним для работы, вам также действительно нужен канонический URL-адрес, чтобы связать два URL-адреса вместе для целей SEO. Вы можете достичь этого, создав CustomAliasResolver: Sitecore.Pipelines.HttpRequest.AliasResolver. –

1

Похоже, что распознаватель псевдонимов вызывается после распознавания объекта.

В этой ситуации я либо переработаю I.A так, чтобы/карьеры что-то визуализировали, так как кажется странным, что у вас есть элементы под контентом, у которых нет макетов.

Если это не вариант, я бы использовал urlrewrite IIS. Вы можете использовать reg ex в перезаписи URL только для захвата/карьеры и перенаправления, а не для всех URL-адресов с карьерой. Более подробная информация здесь:

http://www.iis.net/learn/extensions/url-rewrite-module/testing-rewrite-rule-patterns

0

Я склонен согласиться с Джейсоном Хорн, что это что-то делать с MVC, но подоконник не смогло определить причину.

Поскольку у элементов, с которыми у нас были проблемы, были папки, содержащие дочерние страницы, нашим решением было создать макет под названием FolderRedirector, который мы установили в качестве макета по умолчанию для этих папок. Макет - это просто код, который перенаправляется на первый элемент (страницу) под этой папкой. Работает как шарм.

Смежные вопросы