我有 2 个子域名都指向相同的 IP 和服务器,并且当前以根身份指向 /var/www/html,但我希望其中一个子域名指向 /var/www/html/anothersub 等子目录:
因此我在 sites-available 文件夹中创建了新文件:anothersub.mydomain.com.conf
在其中添加了上述代码:
<VirtualHost *:80>
ServerName anothersub.mydomain.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/anothersub
<Directory /var/www/html/anothersub>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/red-error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/red-access.log combined
</VirtualHost>
并运行命令: sudo a2dissite anothersub.mydomain.com.conf sudo a2ensite anothersub.mydomain.com.conf sudo service apache2 restart
但我的两个域名仍然指向同一个根目录
答案1
在目录路径末尾添加斜线:
<Directory /var/www/html/anothersub/>
确保两个 VirtualHost 文件均位于 /etc/apache2/sites-enabled 中:
ls -al /etc/apache2/sites-enabled
如果某个 VirtualHosts 不应该位于此目录中,请启用它:
a2ensite anothersub.conf
请注意,配置文件必须具有文件扩展名 .conf,否则它将不起作用!重新启动您的 apache2 网络服务器
service apache2 restart
调用两个域,例如使用 curl:
curl -I mydomain.com
curl -I anothersub.mydomain.com
如果它不起作用请查看 apache 日志文件:
tailf /var/log/apache2/red-access.log
希望这可以帮助