Реализация мультисайтовости на Modx Revo
Пытаюсь реализовать мультисайтовость в одной админке, с доменами на латинице проблем нет, а вот как примирить систему с кириллицей? Пример, у меня 3 сайта:
https:site1.ru
https:site2.ru
https: сайт3.рф
Использую плагин:
<?php
if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr') {return;}
$host = $_SERVER['HTTP_HOST'];
$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);
}
}
}
Соответсвтенно, при использовании латинских доменов название контекста совпадает с http_host, а вот создать контекст на кириллице без глюков в modx не получается.
https:site1.ru
https:site2.ru
https: сайт3.рф
Использую плагин:
<?php
if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr') {return;}
$host = $_SERVER['HTTP_HOST'];
$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);
}
}
}
Соответсвтенно, при использовании латинских доменов название контекста совпадает с http_host, а вот создать контекст на кириллице без глюков в modx не получается.
Комментарии: 3
См. в сторону snipp.ru/php/punycode
Не совсем понял в чем проблема, покажу как я делал — и у меня все работает без проблем:
Настройки контекста (затер данные немного, без разрешения собственника не могу светить):
или ссылка на фото на Яндекс.Диск https://disk.yandex.ru/i/K_HAhwSm7znIbg
Название в Общей информации:
или или ссылка на фото на Яндекс.Диск
https://disk.yandex.ru/i/kbMoT84UJfDNWA
Как видно на картинке название контекста указываю домен кириллицей иабракадаброй преобразованных на латиницу непонятно нечелевочески названий, чтобы было легче ориентироваться в админке и при переключении контектстов.
Настройки контекста (затер данные немного, без разрешения собственника не могу светить):
или ссылка на фото на Яндекс.Диск https://disk.yandex.ru/i/K_HAhwSm7znIbg
Название в Общей информации:
или или ссылка на фото на Яндекс.Диск
https://disk.yandex.ru/i/kbMoT84UJfDNWA
Как видно на картинке название контекста указываю домен кириллицей и
Не догадался перевести в пуникод. Теперь всё работает, спасибо!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.