«Сайт» и маршрутизация
Фреймворк Webasyst позволяет использовать для создания сайтов всё доступное ему адресное пространство. Например, если Webasyst установлен по адресу https://mydomain.ru/, то адреса страниц и разделов сайта, созданного на его основе, могут быть произвольными «внутри» этого адреса: https://mydomain.ru/about/, https://mydomain.ru/shop/adidas/superstar/, https://mydomain.ru/index.php?product=aeron-chair, https://mydomain.ru/blog/2011/?tag=dev и т. д. Исключение составляет только бекенд — адреса, занятые бекендом Вебасиста, всегда будут вести только в бекенд, их нельзя задействовать под общедоступную часть сайта.
Вебасист обрабатывает адрес, переданный ему браузером, разделяя его на две части:
- базовая часть — это корневой адрес установки Webasyst, включающий в себя доменное имя; в примере выше это https://mydomain.ru/;
- внутренняя часть — это остальной фрагмент после адреса установки фреймворка; в примерах выше это about/, shop/adidas/superstar/, index.php?product=aeron-chair и т. д.
В зависимости от этих двух частей управление передается тому или иному приложению согласно правилами маршрутизации (роутингу), которые задаются в системном конфигурационном файле wa-config/routing.php. Приложение «Сайт» предоставляет инструменты для управления маршрутизацией через веб-интерфейс и сохраняет настройки маршрутизации в этот файл. Подробнее о технических деталях работы маршрутизации читайте отдельную статью.
Маршрутизация между несколькими сайтами
Базовая часть адреса
Одна установка Вебасиста позволяет создавать сколько угодно сайтов, работающих на разных доменах. Например, domain1.ru, subdomain.domain2.com, any-other-address.org — все эти сайты могут работать на базе одной установки Вебасиста. Для подключения нового сайта выполните следующие действия в приложении «Сайт»:
- Добавьте новый сайт.
- Направьте домен в директорию сервера (на хостинге), в которой установлен Webasyst, таким образом, чтобы при открытии адреса сайта в браузере открывались страницы данной установки фреймворка. По вопросу подключения домена к хостинг-аккаунту проконсультируйтесь со своим хостинг-провайдером.
Маршрутизация между приложениями внутри сайта
Внутренняя часть адреса
Приложение «Сайт» позволяет для каждого сайта указать произвольный набор правил маршрутизации, которые определяют, какому приложению будет передано управление при обработке HTTP-запроса.

В примере ниже для любого адреса внутри адресного пространства domain.ru/shop будет передано управление приложению Shop-Script, domain.ru/blog — приложению «Блог», а если адрес не удовлетворяет ни одному из этих правил — приложению «Сайт», потому что его правило в настройках карты сайта выбрано в качестве главной страницы.

Правила обрабатываются одно за другим в порядке, указанном в файле wa-config/routing.php. Как только фреймворк встречает правило, которое удовлетворяет текущему запросу пользователя, то управление передаётся приложению, которое выбрано для этого правила, и проверка на этом заканчивается — остальные правила не проверяются.
Любое приложение может быть установлено в Вебасисте только в единственном экземпляре, но при этом может иметь несколько правил на карте сайта, то есть занимать несколько адресных подмножеств. Например, приложение «Блог» на сайте можно подключить несколько раз (несколькими правилами) по разным адресам: /blog/ru, /blog/en, /photo-blog и т. п. — причем так, что визуальное оформление у этих разделов сайта может быть разным. Это достигается за счёт того, что у каждого раздела карты сайта имеется свой набор настроек: тема оформления, индивидуальные настройки приложения, произвольный набор дополнительных параметров.

Режим маршрутизации в приложении «Сайт»
В разделе «Карта сайта» приложения «Сайт» доступен также расширенный режим работы с правилами маршрутизации.
Его особенности:
- Правила в списке расположены в том же порядке, что и в конфигурационном файле
wa-config/routing.php: от более подробных правил вверху до более общих внизу (в отличие от обычного режима, где для удобства используется обратный порядок: вверху — главная страница с самым коротким адресом, внизу — остальные разделы сайта с более подробными и длинными адресами). - В списке отображаются и разделы сайта, и дополнительные правила, которые доступны в разделе «Настройки»: приложения на сайте, перенаправления, свои файлы в корне сайта.
- В настройках разделов сайта и приложений на сайте для наглядности показаны символы *, которые используются в качестве маски.
- Через выпадающее меню «Добавить правило» можно добавить правило любого типа (а не только разделы сайта, как в обычном режиме).









