Если у вас хостинг
Первым делом напишите Вашему хостеру фразу на примере следующей «Могли бы вы настроить сайт my_site.ru, таким образом, чтобы урлы вида *.my_site.ru указывали на корень my_site.ru" (my_site.ru замените на ваш сайт).
На некоторых хостингах, кстати, можно делать вот так:
Обратите внимание на звездочку. Она стоит на том месте, где должен быть поддомен, и в данном контексте означает "любой поддомен", что позволяет использовать динамические поддомены.
Дополнительная подготовка сайта для robots.txt
Напишите хостеру "Могли бы вы настроить сайт так, чтобы .txt файлы понимали php?". Это будет необходимо для работы с динамическим robots.txt.
Это опционарный шаг, так как не все сайты могут позволить себе сделать такое, поэтому мы придумали обходные пути для работы с динамическими текстовыми файлами. Подробнее в инструкции по robots.txt
Вы настраиваете сами, у вас apache
Пропишите днс запись:
* | IN | A | IP сервера |
А в настройках apache пропишите:
ServerName my_site.ru ServerAlias *.my_site.ru
Вы настраиваете сами, у вас nginx
Просто добавьте звёздочку (*.my_site.ru) к директиве server_name. Например, вот так:
server { listen 80; server_name my_site.ru *.my_site.ru; root /var/www/my_site.ru/ }
Или если у вас есть редирект с www и https на основном домене:
# Редирект с www http2 server { server_name my_site.ru; listen 443 ssl http2; ssl_certificate /var/lib/acme/live/etc; ssl_certificate_key /var/lib/acme/live/etc; location { // whatever } } # Редирект с www https server { server_name www.my_site.ru; listen 443 ssl https; ssl_certificate /var/lib/acme/live/etc; ssl_certificate_key /var/lib/acme/live/etc; location / { return 301 https://my_site.ru; } } # Редирект с www server { server_name www.my_site.ru my_site.ru; listen 80; location / { return 301 https://my_site.ru; } } # Оставляем поддомены server { server_name *.my_site.ru; listen 80; location / { // whatever } }
Проверка
В браузере перед my_site.ru пишем (замените my_site.ru на ваш сайт) любой поддомен, допустим, "check", результат должен выглядеть как "check.my_site.ru". Далее переходим на указанную страницу по этому адресу, должна показаться главная страница сайта.
Обратите внимание, что если ваш сайт работает по https, то на главном домене должен остаться https. Если на главном домене обрабатывается наличие www, то это правило также должно сохраниться.