2016-02-04 2 views
0

Я создал веб-сайт Orchard, который состоит из множества мини-сайтов, созданных с помощью выбора темы, связанных и инициированных текущим [уникальным] URL-адресом из одного и того же БД. Он работает так, как я надеялся, но я хочу улучшить пути Autoroute на своих страницах.Orchard CMS - Как перенаправить запрос URL?

В настоящее время я использую:

{Content.Fields.PageOrderPart.SitesTaxonomy.Terms:0}/{Content.Slug} 

Какие результаты в:

www.site1.com/sitealpha/gallery

www.site2.com/sitebeta/gallery

Что я хочу:

www.site1.com/gallery

www.site2.com/gallery

Однако, мне все еще нужно, чтобы иметь возможность дифференцировать страницы с таким же названием [... следовательно, почему сначала был создан путь Autoroute выше] - или я, очевидно, получу ошибки дублирования ссылок.

Может ли кто-нибудь подумать о гениальном способе сортировки этого или есть какая-то особенность Orchard, которую я, возможно, пропустил, возможно, переписывает URL или, возможно, существующий метод MVC?

Большое спасибо за ваш вклад, ПП


Дальнейшие мысли (надеюсь, это не влияет на sugestions любого другого пользователя):

правила перезаписи: Возможно, не хватает динамизма для количества контента, который я все еще увеличиваю, - и я мог видеть, что изменения существующих постоянных ссылок являются настоящим кошмаром. Кроме того, по непонятной причине - я и некоторые другие пользователи Orchard - похоже, не могут заставить переписать действие на работу?

Маршруты: Честно говоря, я не играл с ними должным образом - я могу видеть, что захват и рассечения URL оговаривать область/контроллер/действие должно быть достаточно легко - но я не уверен, как идти о перенаправлении на конкретную страницу Orchard?

FilterProvider, IActionFilter: Я тестировал этот сценарий [который может стать довольно сложным кодом мудрого], и я не уверен, что производительность является приемлемой - моя система DEV, кажется, действительно страдает с любым кодом в «OnActionExecuting» метод.


Update: Я исследовал сценарий IActionFilter и, кажется, мои первоначальные опасения эффективности были необоснованными [т.е. новая установка не вела себя медленнее с некоторым кодом реструктуризации URL-адреса по методу «OnActionExecuting»].

Мой последний барьер, чтобы выяснить, почему IIS Rewrite правила не работают с Orchard: https://stackoverflow.com/questions/35226580/orchard-cms-iis-rewrite-rules-do-not-work-for-rewrite-action-types

ответ

0

Это может быть, что несколько аренды будет функция вы после. У вас может быть один код, один дБ, но все они полностью отдельные сайты. Так что отдельные администратора зоны и т.д.

http://docs.orchardproject.net/Documentation/Setting-up-a-multi-tenant-orchard-site

+0

Благодаря Хазз, мульти-аренда была бы здорово - но я избегал его из-за последний пункт [раздельное управление администратором] - мне нужно, чтобы получить доступ ко всему моему содержанию от одного администратора, которые я могу сделать с помощью этого метода; «это лучший метод, я не уверен, но он работает»;) Я добавил некоторые мысли на мой пост. – pigpen

+0

Можно ли использовать Маршруты? Как * по какой-либо причине * - я не могу заставить правила IIS Rewrite [rewrite type] корректно вести себя с Orchard, хотя они работают в обычных приложениях MVC - поэтому поэтому он делает мой IActionFilter бесполезным? Хотя я понятия не имею, как я буду перехватывать/изменять/повторно отправлять URL-запросы с помощью маршрутов для моих страниц - как и во всех динамических - как я могу обновить таблицу маршрутов с помощью области/действия для модуля, который не существует? Благодаря PP – pigpen

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