我已经在家庭Web服务器上配置了apache;到目前为止,我只在该网站上运行过一个网站,并且运行正常:我只需在浏览器中键入主机名,便会显示我的本地网站。
现在,我需要运行多个网站,因此我在/var/www
文件夹中创建了多个子目录。我想继续访问它们,输入我的主机名,后跟a /
,然后是子文件夹的名称。我尝试配置不同的虚拟主机,将以下代码行添加到每个虚拟主机:
ServerName hostname/site1
DocumentRoot /var/www/site1
但是,每当我键入时,hostname/site1
我都会得到apache错误页面,而不是的主页site1
。
还有其他我错过的配置行吗?
更新
我删除了新的配置行,并将配置文件恢复为默认状态,因为这无需任何特殊配置即可自动运行。我仍然无法通过输入来访问子文件夹hostname/site1
。
该服务器名称指令只是为了包含一个主机名和端口。子目录的斜杠不属于主机名。
在您的示例中,我假设您可能同时拥有/var/www/site2
和/var/www/site1
。对于该实现,您需要:
ServerName hostname
DocumentRoot /var/www
然后,您可以访问http://hostname/site1
和http://hostname/site2
要获得子域,您可能需要研究基于名称的虚拟主机。通常,这涉及诸如subdomain.hostname之类的内容,即test.example.org(可能指向/ var / wwwtest)和prod.example.org(可能位于/ var / wwwprod)。通常,您将确保子域位于不同的路径中,以使您无法从另一个站点访问一个站点。
前面的问题有一个示例实现:将Apache配置为通过HTTP + HTTPS服务多个子域
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句