我在 Windows Server 2003 机器上全新安装了 Apache。根站点(例如 www.mycompany.com)有效。我设置了一个指向不同目录 (subdomain.mycompany.com) 的子域,当我尝试访问它时出现“找不到服务器”错误。
这是我的 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>
就像我说的根站点有效,但甚至没有找到子域。事情应该是这样安排的,不是吗?我对此感到非常困惑 - 我已经习惯了 IIS,我可以在其中右键单击并添加一个站点并让所有内容都“正常工作”。
您是否在您的 dns 服务器中放置了子域记录?
您在第 2 行缺少一个开放引号,在 H:\ ...
不确定这是否会有所帮助,但这是一个简单设置的两个主机的示例,我已经定义 apaches 侦听标准端口 80 上的流量,然后每个虚拟主机都具有相同的。
dns 服务器将接收请求 site1.intranet 或 site2.intranet 并转发到相同的 ip,在这种情况下,apache 服务器,上面的 apache 配置将根据请求的站点重定向到正确的文件夹
希望有帮助
正如其他人所建议的那样,您对 DocumentRoot 设置的引用似乎存在问题。
还要确保您的配置中有
NameVirtualHost *:80
这样的配置,以便 Apache 知道它正在执行基于名称的虚拟主机,而不是基于 IP 的虚拟主机。首先检查 subdomain.mycompany.com 是否指向 Web 服务器的 IP 地址。我认为这无法正常工作,这就是您收到“找不到服务器”错误的原因。
问候。