当我请求时,site1.example.com
我被重定向到example.com
。/etc/apache2/sites-available/
我设置了一个site1.example.de
包含以下内容的文件
<VirtualHost *:80>
ServerName site1.example.com
DocumentRoot "/var/www/vhosts/example/site1"
<Directory /var/www/vhosts/example/site1>
Allow from all
AllowOverride All
</Directory>
</VirtualHost>
后
sudo a2ensite site1.example.com
重新加载 Apache 后,它仍然会将我重定向到主域。有什么想法吗?
我使用apache2/2.2.14 (Ubuntu 10.4)
。我的服务器充当名称服务器。
答案1
这些古怪的配置/var/www/vhosts/
(看起来像是来自 Plesk?)使用完整 IP 作为其虚拟主机地址声明,因此侦听*:80
器永远不会收到对该 IP 的任何请求。假设您的服务器上只有一个 IP,这是不希望发生的。
更改<VirtualHost>
新创建的主机中的行,使其用于命中 Plesk 创建的基于名称的虚拟主机的请求:
<VirtualHost 83.169.46.168:80>
ServerName site1.example.com
DocumentRoot "/var/www/vhosts/example/site1"
<Directory /var/www/vhosts/example/site1>
Allow from all
AllowOverride All
</Directory>
</VirtualHost>
答案2
查看 Apache 错误日志中尝试访问子域的条目。大多数时候我遇到这个问题 Apache 无法找到服务器上的目录(或文件权限问题)。