指向同一 IP 上的 2 个子域名,但我希望它们在不同的目录中工作

指向同一 IP 上的 2 个子域名,但我希望它们在不同的目录中工作

我有 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

希望这可以帮助

相关内容