Назад | Перейти на главную страницу

Virtualhost - определение субдоменов, каждый с отдельной папкой

В настоящее время у меня есть один основной домен: mydomain.com

Это нормально работает.

Что я пытаюсь сделать, так это добавить поддомен через мой файл mydomain.conf, чтобы я мог:

sub.mydomain.com

Я пробовал следующее, но в результате я обслуживаю контент с mydomain.com на sub.mydomain.com:

# MY MAIN DOMAIN
<VirtualHost *:80>
ServerName mydomain.com
ServerAlias *.mydomain.com
DocumentRoot /var/www/mydomain.com/html
</VirtualHost>

# DEFINING MY SUBDOMAIN
<VirtualHost *:80>
ServerName sub.mydomain.com
ServerAlias sub.mydomain.com
DocumentRoot /var/www/sub/html/
</VirtualHost> 

Я естественно создал DocumentRoot для поддомена по адресу: DocumentRoot / var / www / sub / html /

У своего поставщика DNS я создал A-запись для обоих: sub.mydomain.com www.sub.mydomain.com - и указал ее на IP-адрес моего сервера. (тот же IP-адрес, на который указывает mydomain.com)

Я использую Centos 6.2.

Есть идеи, что здесь не так?

Проблема в том, что у вашего первого VirtualHost есть строка

ServerAlias *.mydomain.com

Это соответствует всем поддоменам. Поскольку VirtualHosts анализируется в том порядке, в котором они появляются в файле конфигурации, Apache найдет этот VH и никогда не перейдет к следующему.

Другими словами, вам нужно будет переместить два домена так, чтобы запись VirtualHost для поддоменов отображалась над записью для основного домена.

Your virtual host entry should be like this. Hope it will help you.

<VirtualHost mydomain.dev:80>
     ServerName www.yourdoamin.com
     ServerAlias yourdomain.com *.yourdomain.com
     DocumentRoot /var/www/path_of_folder
</VirtualHost>