linux 服务器中我的域的 Apache 默认根目录没有更改

Apache default root doesn't change for my domain in linux server

我知道在 Apache 中有虚拟主机。当给出请求时,它会在这些虚拟主机之间搜索以查看是否有与请求类似的服务器名称。它像文档根目录和其他文档一样收回它的选项我在 /etc/httpd/sites-enabled:

中有这个文件
<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>

我像 /var/www/example.com/html 一样定义了所有目录,毕竟,我在最后一行有一个名为 /etc/httpd/conf 的文件,我添加了以下代码:

Include sites-enabled/*.conf

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

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

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

a2ensite example.com

然后重启Apache:

systemctl reload apache2

您可以通过以下命令知道哪些虚拟主机已启动和 运行:

apache2ctl -S

我只是通过在 virtualhost 标签

的 linux 中用我的本地 ip 替换 star 来解决它
<VirtualHost ip:80>

经过多次检查,它有效finally.there在其他地方没有问题。