Как организовать поддомен
Как организовать поддомен на сайте? добавил контекст но вместо
https://ufa.cloverflower.ru
работает https://cloverflower.ru/ufa
делал как здесь webforbusiness.ru/sozdanie-poddomenov-na-timeweb/ Комментарии: 6
Путем простого добавления контекста в админку поддомен не появится. Контекст это просто абстрактная сущность, отдельный контейнер для хранения. Поэтому нужно научить систему работать с ним.
Во-первых надо создать и привязать поддомен.
Во-вторых сделать плагин на событие OnHandleRequest c таким кодом:
Во-первых надо создать и привязать поддомен.
Во-вторых сделать плагин на событие OnHandleRequest c таким кодом:
<?php
// Работаем только на фронтенде
if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr') {return;}
// Определяем запрашиваемый хост
$host = $_SERVER['HTTP_HOST'];
// Выбираем контекст с настройкой base_url
$q = $modx->newQuery('modContextSetting', array('key' => 'http_host', 'value' => $host));
$q->select('context_key');
$tstart = microtime(true);
if ($q->prepare() && $q->stmt->execute()) {
// Учитываем наш запрос в БД
$modx->queryTime += microtime(true) - $tstart;
$modx->executedQueries++;
// Получаем ключ контекста
if ($context = $q->stmt->fetch(PDO::FETCH_COLUMN)) {
// Web инициализируется в index.php - на него переключаться не нужно
if ($context != 'web') {
$modx->switchContext($context);
}
}
}
ну и должно заработать.
сделал поддомен
внутри сайта создал папку
сделал так же
вот настройки контекста
и файл htaccess
внутри сайта создал папку
ufa
и поддомен направил на эту папкусделал так же
вот настройки контекста
base_url
base_url
/
http_host
http_host
ufa.cloverflower.ru
site_start
site_start
9
site_url
site_url
https://ufa.cloverflower.ru
и файл htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www\.cloverflower\.ru$ [NC]
RewriteRule ^(.*)$ https://cloverflower.ru/$1 [R=301,L]
php_flag register_globals Off
RewriteCond %{HTTP_HOST} ufa.cloverflower.ru
RewriteCond %{REQUEST_URI} !ufa/
разобрался убрал с ссылки на поддомен
www
и сделал такufa.cloverflower.ru > cloverflower.ru/ufa
www.ufa.cloverflower.ru > cloverflower.ru/ufa
вот такой поддомен
перенс в папку поддомена файл index.php его нужно настраивать? так как при переходе на поддомен идет 503 ошибка
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.