Добавление нескольких доменов с индивидуальными путями (site path) на сайт Kooboo CMS


21.04.2012 || Раздел: || Настройка KooBoo


Версия KooBoo CMS на момент написания статьи: 3.2.0

Сайт KooBoo можно настроить на работу с несколькими доменами (в меню Setting). Также можно отдельно указать путь, по которому должен отвечать сайт по указанным доменам.

Но может возникнуть необходимость в одном случае запускать сайт с корневого домена, а в другом с определенного пути. Например:

1) запускать сайт по домену www.mysite1.ru

2) запускать сайт по пути www.mysite2.ru/site

Стандартными средствами данную задачу решить нельзя.

Предлагается следующее решение. Нам нужно будет изменить код одного из файлов и перекомпилировать библиотеку Kooboo.CMS.Sites.dll:

1) Скачайте исходный код системы KooBoo с сайта codeplex.

2) Найдите файл - Kooboo.CMS.Sites/Persistance/Filesystem/SiteProvider.cs

3) Откройте файл и найдите функцию: GetSiteByHostNameNPath

4) Измените результат возвращения функции в строке 95 на следующий код:

return GetSiteByPredicate(it => (it.Domains != null &&
 it.Domains.Length > 0) && ((it.Domains.Contains(hostName, StringComparer.OrdinalIgnoreCase) && 
it.SitePath.Equals(sitePath, StringComparison.InvariantCultureIgnoreCase) && 
!string.IsNullOrEmpty(it.SitePath)) || 
it.Domains.Contains(hostName + "/" + sitePath, StringComparer.OrdinalIgnoreCase)));

5) Сохраните файл и откомпилируйте  библиотеку Kooboo.CMS.Sites.dll

6) Скопируйте библиотеку в директорию BIN вашего сайта.

После этих действий вы сможете задавать пути типа "localhost/test" непосредственно в поле параметров доменов в настройках сайта:

Adding multiple domains with individual sitepaths to a site 

© Элла С. (Автор: Ella Sea)

Основано на материалах официального форума

 

< Предыдущая статья

Видеоурок: начало работы с системой KooBoo и быстрое создание сайта

Следующая статья >

Особенность копирования одноименных подстраниц в другие родительские страницы в CMS Kooboo