Как создать поддомен на хостинге Руцентра (nic.ru)

Задача создать поддомен (субдомен) обычно не вызывает затруднений, в Интернете достаточно руководств о том как это сделать, применительно к различным хостингам и серверам. Только вот к Руцентру это совсем не относится.

Создание поддомена на хостинге nic.ru совсем не тривиальная задача, потому что в стандартном FAQ хостера описание процесса создания поддомена третьего уровня не поддается анализу человеческим мозгом. При звонке в службу поддержки отвечают, что проще добавить поддомен в список сайтов и не париться с настройками.

Руководство как создать поддомен на хостинге Руцентра (nic.ru)

Как создать поддомен на хостинге Руцентра (nic.ru)Нам понадобиться доступ в административную панель хостера, также не помешает возможность доступа по ftp, но без нее можно обойтись. В качестве примерного имени сайта будем использовать имя mysite.ru

1. Заходим в административной панели хостинга во вкладку Веб-сервер/Управление и включаем mod_rewrite (rewrite_module), если он еще не был включен.

Как создать поддомен на хостинге Руцентра (nic.ru)

2. Заходим во вкладку Веб-сервер/Сайты/mysite.ru, выбираем нужный сайт и включаем использование .htaccess, если эта функция еще не включена.

3. В этой же вкладке Веб-сервер/Сайты/mysite.ru добавляем poddomen.mysite.ru в список синонимов сайта mysite.ru, где poddomen — имя нашего поддомена.

4. Теперь необходимо создать нужную директорию, в корневой папке создаем папку subdmn, а в ней папку poddomen. Таким образом корневая папка поддомена будет находится по адресу mysite.ru/subdmn/poddomen.

5. Добавляем в файл .htaccess следующие строки:

1
2
3
4
5
6
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)\.mysite\.ru$
RewriteCond %{HTTP_HOST} !^www\.mysite\.ru$
RewriteCond %{REQUEST_URI} !^/subdmn
RewriteRule ^(.*) %{HTTP_HOST}$1
RewriteRule ^(www\.)?(.+)\.mysite\.ru(.*) /subdmn/$2%{REQUEST_URI} [L]

Не забудьте вместо mysite\.ru указать ваше доменное имя и доменную зону.

Ваш поддомен не сразу будет работать так как нужно, придется подождать пару часов, пока сервер хостера примет новые настройки.

6 Комментариев

  1. Алексей 06.03.2014 / 17:49

    Добрый день! Спасибо за статью, хотел спросить 1 нюанс, если у меня в папке основной с сайтом уже идет редирект всех запросов на index.php:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* index.php [L]

    Как правильно было бы переписать ваш код для htaccess что бы работали оба правила?

  2. Olunka 20.03.2014 / 13:07

    Не совсем поняла, зачем это нужно. Если у Вас хостинг на nic.ru там можно в настройках личного кабинета указать какой файл будет индексным и нет необходимости прописывать дополнительные правила в htaccess

  3. Владимир 02.04.2015 / 03:31

    1) Куда размещать index.html поддомена? в mysite.ru/subdmn/poddomen или в mysite.ru/subdmn/poddomen/docs ?
    2) куда размещать.htaccess ? в mysite.ru или в mysite.ru/subdmn/poddomen или в mysite.ru/subdmn/poddomen/docs ?
    3) это вы описали процедуру создания поддомена для отдельного сайта или для синонима одного из существующих сайтов?

  4. Владимир 02.04.2015 / 16:19

    Работающее решение, например, для WordPress и двух поддоменов:
    1.
    В панели управления Руцентра
    Веб-сервер -> Сайты -> mysite.ru -> Синонимы сайта
    Создаём синонимы
    poddomen1.mysite.ru
    poddomen2.mysite.ru

    2.
    Через FTP cоздаём подкаталоги
    mysite.ru/subdmn/poddomen1
    mysite.ru/subdmn/poddomen2

    3.
    Создаём .htaccess в кодировке UTF-8 без BOM-сигнатуры
    и помещаем его в каталог /mysite.ru/docs

    4.
    Пишем в .htaccess следующее:

    #———————
    #Options All -Indexes
    RewriteEngine On

    RewriteCond %{HTTP_HOST} ^(.+)\.mysite\.ru$
    RewriteCond %{HTTP_HOST} !^www\.mysite\.ru$
    RewriteCond %{REQUEST_URI} !^/subdmn
    RewriteRule ^(.*) %{HTTP_HOST}$1
    RewriteRule ^(www\.)?(.+)\.mysite\.ru(.*) /subdmn/$2%{REQUEST_URI} [L]

    RewriteBase /
    RewriteRule ^index\.php$ — [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    #———————

    P.S.
    Важно, чтобы вордпрессовский блок (всё что после RewriteBase /) был ПОСЛЕ переадресаций поддоменов.

    P.P.S.
    Вместо

    RewriteCond %{HTTP_HOST} ^(.+)\.mysite\.ru$
    RewriteCond %{HTTP_HOST} !^www\.mysite\.ru$
    RewriteCond %{REQUEST_URI} !^/subdmn
    RewriteRule ^(.*) %{HTTP_HOST}$1
    RewriteRule ^(www\.)?(.+)\.mysite\.ru(.*) /subdmn/$2%{REQUEST_URI} [L]

    можно написать конкретно:

    RewriteRule ^subdmn/poddomen1/ — [last]
    RewriteCond %{HTTP_HOST} (www.)?poddomen1.mysite.ru [nocase]
    RewriteRule (.*) subdmn/poddomen1/$1 [last]

    RewriteRule ^subdmn/poddomen2/ — [last]
    RewriteCond %{HTTP_HOST} (www.)?poddomen2.mysite.ru [nocase]
    RewriteRule (.*) subdmn/poddomen2/$1 [last]

  5. Olunka 04.06.2015 / 14:45

    Зачем вы фантазируете на пустом месте? Откуда появилась папка docs? У меня про нее не слова и не нужна она вообще.
    .htaccess лежит всегда в корневой папке основного сайта

  6. Димончик 06.03.2016 / 23:46

    Добрый вечер!
    Создал поддомен.
    Установил в поддомен джумлу.
    В материалах вставляю картинку самым обычным способом, затем открываю просмотр и вместо картинки выводится строчка «/subdmn/*поддомен*/images/logo.png», т.е. вместо пути site.ru/images/logo.png выводится site.ru/subdmn/*поддомен*/images/logo.png.
    Думаю, проблема в правилах .htaccess
    Ольга! Подскажите, пожалуйста, как исправить?

Комментарии к этой статье отключены.