Apache上的子域名无法正常工作 – 找不到服务器

我在Windows Server 2003盒子上安装了全新的Apache。 根网站(例如www.mycompany.com)的作品。 我有一个子域设置指向不同的目录(subdomain.mycompany.com),当我尝试访问它时,出现“无法find服务器”错误。

这是我的httpd.conf文件:

<VirtualHost> DocumentRoot H:\Websites\" ServerName www.mycompany.com ServerAlias mycompany.com CustomLog logs/mycompany.com.log combined ErrorLog logs/mycompany.com.error.log </VirtualHost> <VirtualHost> DocumentRoot "H:\Websites\subdomain" ServerName subdomain.mycompany.com CustomLog logs/subdomain.mycompany.com.log combined ErrorLog logs/subdomain.mycompany.com.error.log </VirtualHost> 

就像我说的根网站工作,但子域甚至没有被发现。 这是应该如何build立的,不是吗? 我真的很困惑 – 我习惯于IIS,我可以右键单击并添加一个网站,并拥有一切“只是工作”。

你有没有把你的DNS服务器的子域logging?

你错过了第2行的开盘报价,befor H:\ …

不知道这是否会有所帮助,但这里是一个简单的设置两个主机的例子,我已经定义,apaches监听标准端口80上的stream量,然后每个虚拟主机都有相同的。

 Listen 80 NameVirtualHost *:80 # Site 1 Comment <VirtualHost *:80> ServerName site1.intranet ServerAdmin [email protected] DocumentRoot /var/www/html/site1 </VirtualHost> # Site 2 Comment <VirtualHost *:80> ServerName site2.intranet ServerAdmin [email protected] DocumentRoot /var/www/html/site2 </VirtualHost> 

DNS服务器将采取请求site1.intranet或site2.intranet并转发到相同的IP,在这种情况下,Apache服务器,上面的Apacheconfiguration将redirect到正确的文件夹取决于请求哪个站点

希望有所帮助

正如其他人所说,围绕DocumentRoot设置的报价似乎存在问题。

同时确保您的configuration中有NameVirtualHost *:80 ,以便Apache知道它正在执行基于名称的虚拟主机而不是基于IP的虚拟主机。

首先检查subdomain.mycompany.com是否指向Web服务器的IP地址。 我认为这不能正常工作,这就是为什么你得到“无法find服务器”错误。

问候。