Как Создать WildCard DNS

WildCard DNS -  это запись в ДНС зоне домена, отвечающая за все под-домены. Вы могли столкнутся с необходимостью создания такой записи при установке WordPress MU. Это мульти-блог использующий отдельный саб-домен для каждого под-блога.

содать WildCard DNS

Так вот, создавать каждый саб-домен вручную нет необходимости,

можно просто создать WildCard DNS и направить все саб-домены на тот же  IP адрес, куда смотрит  главный домен, ну или же на иной IP.

Получим вот такую ДНС запись

* A IN 65.65.65.65

или

*.yourdomain.ru. A IN 65.65.65.65

Таким образом у нас все саб-домены, домена yourdomain.ru, не смотря на то что они существуют, будут направлены на IP адрес   65.65.65.65.  WildCard DNS это как создать все саб-домены одновременно.

Дальше можно попробовать заставить все эти  саб-домены работать в браузере, к примеру мы хотим чтобы они отображали содержание главного сайта youdomain.ru. Для этого открываем конфиг апача, ищем виртуал хост (VirtualHost) домена yourdomain.ru  и в строчку   ServerAlias дописываем наш WildCard в виде *.yourdomain.ru

Выглядит это примерно так:

<VirtualHost 65.65.65.65:80>
ServerName yourdomain.ru
ServerAlias www.yourdomain.ru  *.yourdomain.ru
DocumentRoot /home/username/public_html

Или просто  полностью  копируем этот  виртуал хост (VirtualHost), прописываем  WildCard  (*.yourdomain.ru) как  ServerName и  сохраняем  его как отдельный виртуал хост (VirtualHost). Советую использовать именно этот метод, поскольку это облегчит работу с виртуальными саб-доменами и избавит Вас от путаницы.

Теперь заходя на blablabla.yourdomain.ru или megohost.yourdomain.ru Вы будете видеть   сайт yourdomain.ru , хотя URL останется  blablabla.yourdomain.ru или megohost.yourdomain.ru.

Это был пример A  записи для WildCard DNS, точно также мы можем создать и любую другую запись. Например указать MX, почтовый сервер, для виртуальных саб-доменов

*.yourdomain.ru. A MX some.mailexchanger.com.

В этом случае почта всех саб-доменов пойдет через  почтовый сервер some.mailexchanger.com

Проделать все выше указанное Вы можете самостоятельно на выделенном сервере или ВПСке,  пользователям общего виртуального хостига придется обратится в тех.поддержку хостинга, чтобы получить WildCard. Но не Всем.

ВНИМАНИЕ!!! пользователи контрольной панели cPanel, от недавнего времени Вы можете создать WildCard DNS сами посредством cPanel. В последних версиях, контрольная панель начала принимать «*» как саб-домен, так что Вы спокойно можете создать *.yourdomain.ru в разделе саб-доменов.

modniy-den.ru abztour.ru

6 Comments

  • Полезная статья… Понадобилась конечно не при работе с WordPress а с Drupal. Огромное спасибо.

  • Присоединюсь к оратору выше. Тоже пригодилось и тоже не при использовании WordPress, а с Drupal :)
    Спасибо.

  • Хостинг:

    рад что пригодилось

  • Vack:

    Отличная статья! Тоисть я создаю сабдомен и при заходе на любой сабдомен меня автоматом переносит на главный сайт,я правильно понял?

  • Хостинг:

    Вы создаете WildCard DNS, и заходя на любой саб-домен, не создавая его вы попадете на главный сайт

  • Спасибо за информацию, только этот WildCard сам по себе вряд ли может кому-то пригодиться, обычно бывает нужно далее обработать HTTP-запрос таким образом, чтобы каждый субдомен перенаправлялся в соотв. субдиректорию, например так:

    sub1.mysite.com/file.ext должен показывать содержимое http://www.mysite.com/sub1/file.ext

    Перелопатив массу примеров, найденных в интернете, вписал в свой .htaccess:

    RewriteEngine on
    Options -MultiViews -Indexes +FollowSymLinks
    RewriteBase /

    # Redirect subdomains to subfolders
    RewriteCond %{HTTP_HOST} ([a-z0-9-]+)\.mysite\.com$ [NC]
    RewriteCond %1 !^(www|ftp|mail)$ [NC]
    RewriteRule ^(.*)$ http://www.mysite.com/%1/$1 [L]

    Но увы, при запросе вида sub1.mysite.com/file.ext сервер именно ПЕРЕНАПРАВЛЯЕТ браузер на http://www.mysite.com/sub1/file.ext, т. е. идет HTTP 302 redirect на результирующий адрес…

Добавить комментарий

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>