Apache 是什么让域名指向一个特定的文件夹?

Apache 是什么让域名指向一个特定的文件夹?,apache,dns,httpd.conf,Apache,Dns,Httpd.conf,我在一台从别人那里继承的服务器上工作,我不是dns问题的专家。 服务器承载多个域,它们都位于名为/vhosts/的文件夹下。 我似乎无法理解域是如何指向它们各自的文件夹的。我检查了httpd.config,没有这样的指令: <VirtualHost *> ServerName www.domain.tld DocumentRoot /www/domain </VirtualHost> 服务器名www.domain.tld DocumentRoot/www/domain

我在一台从别人那里继承的服务器上工作,我不是dns问题的专家。 服务器承载多个域,它们都位于名为/vhosts/的文件夹下。 我似乎无法理解域是如何指向它们各自的文件夹的。我检查了httpd.config,没有这样的指令:

<VirtualHost *>
ServerName www.domain.tld
DocumentRoot /www/domain
</VirtualHost>

服务器名www.domain.tld
DocumentRoot/www/domain

我还检查了域管理员,他们都指向服务器ip。那么我缺少什么呢?

系统可以配置为批量虚拟主机:

或者,可以在通过Include语句引入的包含文件中声明虚拟主机的配置。检查
httpd.config
以获取对其他vhost的Include语句

如果所有其他操作都失败,请转到配置目录的根目录并运行以下操作:

 sudo grep -Ri www.domain.tld . 

应该给你一个提示去哪里看

DocumentRoot
是指示特定托管域的文件夹名称的指令。对于服务器上托管的每个域,在
httpd.conf
文件中都有一个
节点。例如,example1.com和example2.com托管在此服务器上,它们的请求分别来自/vhosts/www/example1和/vhosts/www/example2

<VirtualHost *>
DocumentRoot /vhosts/www/example1
ServerName www.example1.com
# Other directives here
</VirtualHost>

<VirtualHost *>
DocumentRoot /vhosts/www/example2
ServerName www.example2.org
# Other directives here
</VirtualHost>

DocumentRoot/vhosts/www/example1
服务器名www.example1.com
#这里还有其他指示
DocumentRoot/vhosts/www/example2
服务器名www.example2.org
#这里还有其他指示
有时,这些设置在其他配置文件中定义。其他配置文件在启动期间包含在httpd.conf中。如果您无法找到包含它的文件,那么我建议您运行


grep-ri“VirtualHost”/

神圣的S***,这就是我要找的,非常感谢,伙计!:B