Apache默认根目录不使用';我的域在linux服务器上无法更改

Apache默认根目录不使用';我的域在linux服务器上无法更改,linux,apache,dns,centos7,Linux,Apache,Dns,Centos7,我知道在Apache中,有虚拟主机。当发出请求时,它会在这些虚拟主机之间进行搜索,以查看是否存在类似于请求的服务器名称。它收回了它的选项,如document root和其他我在/etc/httpd/sites中启用了此文件的选项: <VirtualHost *:80> ServerName example.com ServerAlias www.example.com ServerAdmin webmaster@localhost DocumentRoot /var/www/exam

我知道在Apache中,有虚拟主机。当发出请求时,它会在这些虚拟主机之间进行搜索,以查看是否存在类似于请求的服务器名称。它收回了它的选项,如document root和其他我在
/etc/httpd/sites中启用了此文件的选项

<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/example.com/html
ErrorLog /var/www/example.com/log/error.log
CustomLog /var/www/example.com/log/requests.log combined
</VirtualHost>

在那之后,当我重新启动httpd时,它执行的完全没有错误,但是它不工作,它会转到默认的根目录。问题出在哪里?

创建虚拟主机配置文件后,在您的示例中,
/etc/apache2/sites available/example.com.conf

您需要以超级用户的身份使用该命令

a2ensite example.com
然后重新启动Apache:

systemctl reload apache2
您可以通过以下命令判断哪些虚拟主机已启动并正在运行:

apache2ctl -S

我只需在virtualhost标记中用linux中的本地ip替换star就可以解决这个问题

<VirtualHost ip:80>


经过太多的检查,它终于工作了。在其他地方没有问题。

包含的文件扩展名是.conf吗?您确定要在80端口(标准http)上访问服务器吗?你的日志文件是空的吗?您确定为servername和serveralias提供了良好的值吗?是的。我的文件是example.com.conf,我的虚拟主机选项位于那里。对于服务器名称和服务器别名,我确定。但是对于端口80,我如何知道正在使用哪个端口?是否有另一个.conf文件包含相同端口的VirtualHost定义ServerName/Alias?没有。我只有一个.conf文件。我的系统是centos,所以我有httpd,但我在httpd中搜索了a2ensite的等式,找到了启用的站点和可用的站点,所以我创建了这些文件夹,并将它们与ln-s链接,但它再次转到默认根目录。你认为有什么问题?这有帮助吗?是的。在您发表评论之前,我使用此链接作为指南。这很有帮助,但不能解决我的问题。//请在端口53{127.0.0.1;}上收听//侦听v6端口53{::1;};这两行代码位于etc文件夹中的my named.conf中。您是否看到任何问题?
<VirtualHost ip:80>