Apache 中的虚拟主机

Apache 中的虚拟主机

我还没有为我的服务器设置域名,但我为将要托管在那里的一个网站设置了域名。如果您通过 IP 地址导航到该网站,我希望您转到 D:\Apache 。如果您通过 mydomain.com 或 www.mydomain.com 访问服务器,我希望您转到 D:\Apache\mydomain 。我如何使用 apache 执行此操作?

答案1

您应该使用基于名称的虚拟主机它使用 HTTP/1.1 规范中定义的 Host 标头来定义站点。示例配置

 NameVirtualHost *:80 
<VirtualHost *:80>
   ServerName www.example.com 
   DocumentRoot D:\example.com
</VirtualHost>
<VirtualHost *:80>
  ServerName example.example.com 
  DocumentRoot D:\example.com\example
</VirtualHost>

答案2

该文件可能看起来像这样。

NameVirtualHost *:80
<VirtualHost *:80>

       ServerAdmin [email protected]
       ServerName  whateverdomain.com
       DocumentRoot D:\Apache

</VirtualHost>
<VirtualHost *:80>

       ServerAdmin [email protected]
       ServerName  www.mydomain.com 

       # Indexes + Directory Root.
       DirectoryIndex index.php (assuming its PHP)
       DocumentRoot D:\Apache\mydomain

</VirtualHost>

然后重启Apache

apache -w -n "Apache" -k restart

如果您在解析名称时遇到问题,请编辑您的 hosts 文件

C:\WINNT\system32\drivers\etc\hosts

相关内容