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

时间:2011-10-25 13:09:05

标签: apache dns httpd.conf

我正在研究一个我从某人那里继承的服务器,而且我不是dns问题的大专家。 服务器托管多个域,它们都位于名为/ vhosts /的文件夹下。 我似乎无法理解域名如何指向其各自的文件夹。我检查了httpd.config,没有这样的指令:

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

我还检查了域管理员,他们都指向服务器ip。我错过了什么?

2 个答案:

答案 0 :(得分:9)

DocumentRoot是指示特定托管域的文件夹名称的指令。对于托管在服务器上的每个域,<VirtualHost>文件中将有一个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>

有时这些设置是在其他配置文件中定义的。其他配置文件在启动期间包含在httpd.conf中。如果您无法找到包含该文件的文件,那么我建议您运行

grep -ri "VirtualHost" /

答案 1 :(得分:4)

系统可以配置为大规模虚拟主机:

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

如果所有其他方法都失败了,请转到配置目录的根目录并运行以下命令:

 sudo grep -Ri www.domain.tld . 

应该给你一个提示在哪里看......

相关问题