Ученик (105)

Как настроить поддомен, чтобы работал? По шагам, пожалуйста...

Регистрируйтесь, делитесь ссылками в соцсетях, получайте на WMR кошелек 20% с каждого денежного зачисления пользователей, пришедших на проект по Вашей ссылке. Подробнее
После регистрации Вы также сможете получать до 175 руб за каждую тысячу уникальных поисковых переходов на Ваш вопрос или ответ Подробнее
ОТВЕТЫ
Знаток (425)
Для начала надо настроить DNS. Обычно хостер предоставляет возможность добавлять DNS-записи. В Вашем случае в DNS пишем:


subdomain.domain.ru IN CNAME domain.ru.


Не забудем точку в конце, если писать вручную. Но, повторяю, обычно хостеры предоставляют возможность просто выбрать имя поддомена и куда отправлять CNAME. А запись составляют сами.

После этого настраиваете сервер. В httpd.conf прописываете виртуальные хосты.


NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/var/www/html" #ваш DOCUMENT_ROOT. Если хотите и на локальной Виндовой машине - пишете C:\Program Files\Apache Software Foundation\Apache2.2\htdocs (обычно так).
ServerName domain.ru
ErrorLog logs/domain_error_log
CustomLog logs/domain_access_log combined
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "/var/www/html/subdomain" #путь к папке с поддоменом. Если виндовая локальная машина - C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\subdomain
ServerName subdomain.domain.ru
ErrorLog logs/subdomain_error_log
CustomLog logs/subdomain_access_log combined
</VirtualHost>


Не забудьте - чтобы все работало на локальной машине, Вы должны в файле hosts (%windir%\system32\drivers\etc\hosts) прописать


127.0.0.1 domain.ru
127.0.0.1 subdomain.domain.ru


Удачи :)
Знаток (425)
И, да, после настройки виртуальных хостов не забудьте перезапустить сервер. На локальной машине после перезапуска все будет работать сразу, а на сервере после выполнения UNIX-команды


service httpd restart


поддомен будет работать только после обновления записей DNS по всему миру (сутки-двое).