虚拟主机 – 定义每个单独的文件夹的子域

我目前有一个主域名: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> 

我自然创build了子域的DocumentRoot:DocumentRoot / var / www / sub / html /

在我的DNS供应商,我已经创build了两个:a.mydomain.com www.sub.mydomain.com Alogging – 并指出它到我的服务器IP。 (与mydomain.com指向的IP相同)

我正在运行Centos 6.2。

任何想法是什么错在这里?

问题是你的第一个VirtualHost有线

 ServerAlias *.mydomain.com 

这匹配所有子域。 由于VirtualHosts按照它们出现在configuration文件中的顺序被parsing,所以Apache将会find这个VH,并且永远不会去看下一个。

换句话说,您将需要移动这两个域,以使子域的VirtualHost条目高于主域的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>