Как удалить имя папки sitecore в URL? - PullRequest
0 голосов
/ 10 сентября 2011

Я создал структуру папок sitecore год / месяц / день в дереве контента, когда я просматриваю каждую статью под узлом папки, URL-адрес может быть http://local/landing/year/month/day/article1.aspx,, как я могу сделать URL-адрес следующим образом: http://local/landing/article1.aspx? просто удалите структуру год / месяц / день в URL.

Есть ли в sitecore какая-то функция, например, удаление или скрытие специальных шаблонов в URL внешнего интерфейса?

Любая помощь, спасибо.

Ответы [ 4 ]

1 голос
/ 10 сентября 2011

Вы можете сделать это двумя способами:

  1. Используйте IIS 7 модуль перезаписи URL-адресов для изменения URL-адреса.Таким образом, URL-адрес будет переписан до того, как он попадет на sitecore, и вам не нужно менять код.Вы можете найти больше информации на веб-сайте iis

  2. Вы можете создать собственный преобразователь элементов и добавить его в конвейер ядра сайта RequestBegin.Алексей Шыба писал об этом здесь .

0 голосов
/ 19 сентября 2014

2 варианта

  1. Измените конфигурацию Bucket и задайте необходимую структуру папок, конфигурацию Bucket можно найти в файле Sitecore.Buckets.config

  2. Расширьте GetFromRouteValue Item Resolver и перезапишите метод ResolveItem (), чтобы получить элемент корзины. Ссылку на класс GetFromRouteValue по умолчанию можно найти в файле Sitecore.MVC.config и заменить ее собственной настроенной реализацией.

Мы внедрили настраиваемую маршрутизацию и получаем точный элемент, если путь маршрута совпадает.

Спасибо, Jisha

0 голосов
/ 12 сентября 2011

Как сказали @marto и @seth, вы можете использовать переписывание URL-адресов или псевдонимы для решения этой проблемы.

Однако у этого есть недостаток, независимо от того, как вы решите это сделать.

Если у вас очень много элементов (ваша структура звучит так, как вы можете), то любой из этих методов потребует, чтобы URL был уникальным.Удаление структуры даты из URL означает, что всем элементам в вашем целевом разделе потребуются уникальные URL (наследуются ли они от названий элементов или каким-либо другим способом).Это может повлиять на SEO для вашего сайта, так как у авторов могут возникнуть трудности с поиском неиспользуемого имени, которое также читается человеком и полезно для SEO.Маловероятно, что вы хотите использовать некрасивые GUID в своих URL.

0 голосов
/ 12 сентября 2011

Похоже, у вас может быть тысячи таких элементов, но даже в этом случае вы можете использовать встроенную функциональность Sitecore и рассмотреть возможность создания псевдонимов для каждого из этих элементов.Программно создать псевдоним для события ItemSaved или ItemCreated, вероятно, проще всего.

...