Все разделы Сайт мастера

Автоподдомены и если поддомен отдаёт 404

Как работают адреса вида ivan.beautynote.ru и что проверить, если такой адрес не открывается.

Как это устроено

Платформа многопользовательская: любой поддомен первого уровня beautynote.ru попадает в тот же код, а PHP по заголовку Host определяет, какого мастера показать. Поэтому для каждого нового мастера создавать что-то в хостинге не нужно — важна одна настройка на уровне хостинга.

Требование к хостингу

  • Для домена beautynote.ru должен существовать wildcard-поддомен *.beautynote.ru, указывающий в ту же директорию, что и основной сайт
  • SSL-сертификат должен покрывать поддомены (wildcard-сертификат Let's Encrypt)
  • mod_rewrite активен, наш .htaccess лежит в корне сайта

ISPmanager: «Автоподдомены → в поддиректорию домена»

ISPmanager умеет принимать любой поддомен, но в режиме «в поддиректории» Apache ищет файл в отдельной папке вида data/www/ivan.beautynote.ru. Папка пустая — Apache отдаёт 404 ещё до PHP, и в логах нет обращений к index.php. Платформа решает это симлинками: каждая папка поддомена заменяется на ссылку на корень основного сайта.

  1. В панели ISPmanager оставьте «Автоподдомены» включёнными в режиме «в поддиректории домена» — трогать другие поля не нужно.
  2. Зайдите в админку beautynote.ru/admin/domains и нажмите «Синхронизировать все симлинки».
  3. Платформа сама создаст симлинки data/www/ivan.beautynote.ru → data/www/beautynote.ru для всех активных мастеров.
  4. Откройте ivan.beautynote.ru — сайт мастера должен открыться.
info
Симлинк создаётся автоматически при регистрации мастера и при смене адреса в админке. Кнопка синхронизации нужна только разово для старых мастеров, которые были созданы до включения этой функции.

Чек-лист при 404 на поддомене

  1. Откройте ivan.beautynote.ru. Если видна серая страница Apache «Not Found» (без оформления сайта) — запрос не дошёл до PHP: проблема в настройке хостинга.
  2. Проверьте, что в панели хостинга для домена включены автоподдомены и что домен добавлен с тем же IP и тем же корневым каталогом, что и основной сайт.
  3. В админке beautynote.ru/admin/domains нажмите «Синхронизировать все симлинки» — колонка «Статус» покажет, для каких мастеров папка поддомена не указывает на корень платформы.
  4. Выпустите wildcard-сертификат для *.beautynote.ru, иначе браузер будет ругаться на HTTPS.
  5. Убедитесь, что slug мастера существует: страница 404 сайта с текстом «Мастер не найден» означает, что PHP работает, но в базе нет такого slug или сайт отключён.
  6. Проверьте консолью на сервере: php tools/diagnostic.php ivan.beautynote.ru — она покажет, чем именно платформа считает этот хост.
warning
Если хостинг не даёт wildcard-поддомен вообще, платформа работает в резервном режиме адресного доступа: https://beautynote.ru/m/ivan. Ссылки вида /m/slug поддерживаются везде, включая API и sitemap, — можно раздавать клиентам любой из двух вариантов.

Что проверяет diagnostic.php

  • наличие index.php, .htaccess, .env и прав на папки
  • совпадение PLATFORM_DOMAIN с запрошенным хостом
  • связку «slug → запись в таблице tenants»
  • состояние симлинка публичной директории поддомена
  • назначенный шаблон и наличие его файлов на диске
  • включённые модули тенанта

Остался вопрос?

Создайте тикет — поддержка видит ваш сайт и тариф, ответ приходит в переписку и на почту.

support_agent Новый тикет