为什么我的Apache虚拟主机显示Apache的默认页面?

我想知道如果我做错了什么或什么? 我有子域指向我的服务器IP(公共服务器的IP),但是当我去我的子域它显示我的默认页面的Apache。 是的,我使用名称虚拟主机,但仍然没有…

现在我已经把页面放在html目录中,并且它工作正常,但我认为这不是解决scheme。 是的,我可以指出我的子域到subdomain.domain.com/thepage,但是我不想这样做。 这里是我的conf。 部分

NameVirtualHost *:80 <VirtualHost *:80> ServerName subdomain.domain.com DocumentRoot /var/www/ ServerAlias www.subdomain.domain.com </VirtualHost> 

任何build议?


这是我得到的..

 NameVirtualHost *:80 <VirtualHost *:80> ServerName domain.com DocumentRoot /var/www/ - here is domain.com ( there is directory named ivan ) ServerAlias www.domain.com </VirtualHost> NameVirtualHost *:80 <VirtualHost *:80> ServerName subdomain1.domain.com DocumentRoot /var/www/ - and here is subdomain1.domain.com - directory named sub1 ServerAlias www.subdomain1.domain.com </VirtualHost> NameVirtualHost *:80 <VirtualHost *:80> ServerName subdomain2.domain.com DocumentRoot /var/www/ - and here is subdomain2.domain.com - directory named sub2 ( And I don't know if they need to be the same name as the address or ??? sometimes I'm confused about that. ) ServerAlias www.subdomain2.domain.com </VirtualHost> 

而我所得到的是Apache的默认页面…

您需要修改虚拟主机的根目录。 否则,你将有一个子域将显示完全相同的数据作为您的主域名。

对于subdomain.domain.com,您应该将子域的DocumentRoot设置为DocumentRoot /var/www/page1 ,将subdomain2.domain.com设置为DocumentRoot /var/www/page2等。

看看例子

你的configuration应该是这样的:

  NameVirtualHost *:80

 <VirtualHost *:80>
   ServerName domain.com
   ServerAlias www.domain.com
   DocumentRoot / var / www / ivan#你的web根目录的绝对path
 </虚拟主机>

 <VirtualHost *:80>
   ServerName subdomain1.domain.com
   ServerAlias www.subdomain1.domain.com
   DocumentRoot / var / www / sub1#你的web根目录的绝对path
 </虚拟主机>

 <VirtualHost *:80>
   ServerName subdomain2.domain.com
   ServerAlias www.subdomain2.domain.com
   DocumentRoot / var / www / sub2#你的web根目录的绝对path
 </虚拟主机>