Настройка поддоменов на локальном сервере (locahost’е) и на хостинге

1. Настройка поддоменов на хостинге

Начнём с простого — настройка поддоменов на хостинге. С условием, если у вас правильный хостинг, то на нём, вполне вероятно, настроено автоматическое создание поддоменов. Любая созданная папка в папке htdocs автоматически превращается в поддомен. Названия доменов могут включать в себя маленькие латинские буквы, цифры и символ тире, названия доменов должны начинаться и заканчиваться латинской буквой или цифрой.

Пример:

У Вас есть домен domain.ru и Вы хотите создать поддомен test, то всё, что Вам нужно сделать, это создать папку test и закачать туда содержимое вашего сайта. После этого, Вы сразу можете посмотреть содержимое по адресу test.domain.ru

Вот так выглядит структура папок для сайта https://codeby.net/blogs/:

1

Т.е. то, что в папке www, это и есть доступный по адресу https://codeby.net/blogs/ сайт, который вы сейчас читаете.

Содержимое папки demowp1 доступно по адресу demowp1.codeby.net

Содержимое папки demowp2 — по адресу demowp2.codeby.net

Содержимое папки test по адресу test.codeby.net

Т.е. достаточно просто создавать папки и размещать там свои новые сайты — элегантно, а главное — просто. Если хотите также, переходите на правильный хостинг, переносите свои сайты сюда.

 

2. Поддомены и виртуальные хосты на локальном сервере (locahost'е).

Подразумевается, что вы ставили свой локальный сервер по этой инструкции. Если это не так, то пути в папках вам нужно поменять на свои.

Что мы получим? На локальном сервере мы можем настроить переадресацию любых запросов браузера на определённую папку сервера.

Допустим, мы хотим, чтобы при наборе в строке браузера  открывался сайт, находящийся в каталоге C:Serverdatahtdocsmp, а при запросе http://student.work, открывался сайт, расположенный в каталоге C:Serverdatahtdocsstudent

(все названия условные, можете сделать переадресацию с mysite.ru, vk.com – в общем, чего угодно на свой локальный сервер).

Открываем файл C:WindowsSystem32Driversetchosts и добавляем туда такие строчки:

127.0.0.1 mp.loc

127.0.0.1 student.work

Сохраняем изменения и закрываем.

Переходим к файлу C:ServerbinApache24confhttpd.conf, открываем его текстовым редактором и в самый конец дописываем:

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot "c:/Server/data/htdocs"
    ServerName locahost
    ServerAlias locahost

    ErrorLog "logs/localhost.log"
    CustomLog "logs/localhost.log" common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "c:/Server/data/htdocs/mp"
    ServerName mp.loc
    ServerAlias mp.loc

    ErrorLog "logs/localhost.log"
    CustomLog "logs/localhost.log" common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "c:/Server/data/htdocs/student"
    ServerName student.work
    ServerAlias student.work

    ErrorLog "logs/localhost.log"
    CustomLog "logs/localhost.log" common
</VirtualHost>

Сохраняем, закрываем, перезапускаем компьютер.

Вуаля, теперь у нас работают такие адреса как http://mp.loc и http://student.work

Если вам хочется углубить свои знания, научиться создавать динамические виртуальные хосты, динамические поддомены и научиться многим другим интересным вещам, то отправляю вас к официальной документации.


Хотите узнать, как заполучить короткий и красивый адрес электронной почты (e-mail)? или как выбрать качественный хостинг? Всё это и многое другое на сайте codeby.net. Подписывайтесь на нашу e-mail рассылку (внизу страницы) или на ленту новостей и вы узнаете первым о новых статьях! Также вступайте в нашу официальную группу вконтакте — там вам очень рады!

4 комментария

  1. Здравствуйте, Алексей.

    Сделал все по вашей инструкции. Сервер, кстати, устанавливал тоже по вашей инструкции ( https://codeby.net/blogs/ustanovka-apache-php-mysql-phpmyadmin/ ). Если сделать все, как вы написали, то перестает работать http://localhost . То есть, не перестает, а просто показывается первый сайт из списка в hosts.

    http://localhost = http://mp.loc

    Получается, что напрямую в htdocs ничего разместить не получится?

    1. Владимир, то, как Вы описали — это неправильное поведение сервера. Обратите внимание вот на эти строки

      <VirtualHost *:80>
          DocumentRoot "c:/Server/data/htdocs/mp"
          ServerName mp.loc
          ServerAlias mp.loc
       
          ErrorLog "logs/localhost.log"
          CustomLog "logs/localhost.log" common
      </VirtualHost>

      Поведение сервера в Вашем случае может возникнуть, если вместо выделенной жирным строчки написать 

      c:/Server/data/htdocs

      Т.е. проверьте ещё раз конфигурационный файл. Я, когда пишу инструкции, сам проделываю все шаги и только убедившись, что всё работает правильно, делюсь этими инструкциями. Но Ваш комментарий посеял во мне зерно сомнения — со своей стороны я ещё раз перепроверю мануал.

       

      UPD: Да, ошибка подтвердилась. Сейчас разберусь в чём дело и поправлю инструкцию. Владимир, огромное спасибо за наводку.

      1. Инструкция поправлена!

        В файл C:ServerbinApache24confhttpd.conf нужно добавить ещё один раздел:

        <VirtualHost *:80>
            DocumentRoot "c:/Server/data/htdocs"
            ServerName locahost
            ServerAlias locahost
         
            ErrorLog "logs/localhost.log"
            CustomLog "logs/localhost.log" common
        </VirtualHost>

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *