我目前有几个子域和一个主域。
我的子域名设置为指向 VPS 服务器的“A 记录”。但是,我尝试过创建单独的虚拟主机,但当我访问所有子域名时,它们都链接到一个目录,即主目录。
如何让每个子域名指向我的 VPS 上的正确目录?我尝试过虚拟主机,但问题仍然存在。
这是我的尝试:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/hub/
ServerName www.hub.cxw.org
ErrorLog logs/dummy-hub.cxw.org-error_log
CustomLog logs/dummy-hub.cxw.org-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/cxw/
ServerName www.cxw.org
ErrorLog logs/dummy-cxw.org-error_log
CustomLog logs/dummy-cxw.org-access_log common
</VirtualHost>
请帮助。
答案1
删除末尾的斜杠DocumentRoot
。mod_dir 中似乎有一个错误,当 DocumentRoot 末尾有斜杠时(例如,“DocumentRoot /usr/web/”)会导致问题,因此请避免这种情况。
此外,您似乎将主目录作为虚拟主机的父目录。这不是一个非常有效的设置,因为人们可以转到您的主站点,然后向下导航到您的子域,这通常不是您想要的。我这样说是因为您<Directory>
的虚拟主机中没有任何指令。
答案2
您NameVirtualHost *:80
是否在 apache 配置中的某处启用了该指令?此外,您需要重新启动 apache 才能使这些更改生效。