我正在学习如何在apache2上创建虚拟主机。我有Ubuntu 16.04操作系统。我在Windows 10中也有WSL(Ubuntu 16.04)。
现在,这是我在 Ubuntu OS 上创建虚拟主机时观察到的内容:
我创建了以下VH:
#Did work
<VirtualHost *:80>
ServerName xyzvk.com
ServerAlias www.xyzvk.com
DocumentRoot /var/www/xyzvk.com
</VirtualHost>
#Didn't work
<VirtualHost *:80>
ServerName xyzvk.com
ServerAlias www.xyzvk.com
DocumentRoot /var/www/yolo
</VirtualHost>
并在 / etc / hosts
中添加了名称和别名当我在浏览器中访问网址时。我工作得很好。
现在,当我更改了DocumentRoot并重新启动服务器,并再次尝试时,它根本无法正常工作。它将我发送到默认的根目录,即 / var / www / html
使用WSL
我做了相同的程序,除了我在Windows主机文件中编辑的hosts文件,因为Ubuntu的hosts文件中的更改不起作用(可能是因为它是Windows操作系统)。
无论目录名称如何,这次都是有效的。
所以我的问题是:它只是命名文件夹与域名相同的约定(如果是,可能是在Ubuntu OS中不起作用的问题)或者它是强制性的吗?< / p>
答案 0 :(得分:0)
要创建新的虚拟主机,最佳做法是为每个VH分别创建目录。在我看来,当您更改VH Document Root时,新路径不存在。要获取更多信息,请检查错误日志。对于默认配置,它位于
/var/log/apache2/error.log